close

循環循環(Loops & Iterators)讓你可以重複執行特定的程式碼。例如,當你要將同一個訊息重複輸出十次時,就可以用到循環循環。Ruby的循環循環主要可分成三組:

  1. WhileUntil  循環。
  2. For循環以及Next關鍵字。
  3. 三個iterators: L oop  .each以及.times .

我們來逐一地看看吧。

Ruby 程式語言學習筆記:

1.  Ruby程式語言學習筆記(一):Ruby基礎

2.  Ruby程式語言學習筆記(二):Ruby的條件判斷式(Control Flow)

3.1 While 與Until 循環。

While 與Until 循環的特點就是你要控制循環條件。

3.1.1 While 循環

先看一個範例。

如你所見,While循環中,你需要自行修改判斷依據(counter),使得它最終會變成false,以此來結束While循環。

3.1.2 Until 循環

Until 跟 While 差在判断的部份。对While来讲,当条件为真(true)的时候,循环会被执行;而对Until来讲,当条件为假(false)时,循环才会被执行。两著正好相反。换言之,只要你把判断逻辑改一下,它们是可以互相取代对方的。Ruby满强调同样的目标可以透过多种方式来实现现,这就是很好的体现。

 

 3.2 For 循環與Next 關鍵字

3.2.1 For 循環

For 循環用於你確定重複次數的情況下。來看以下的例子。

在For 循環中,你無需預先定義”counter”。”in 1..5″表示循環的範圍,這是裡從1 到5 ,也就是5 次。你也可以設定不包含最後一個數字的範圍,只要用三個點就可:1…5

3.2.2 Next 關鍵字

Next關鍵字是用來跳過某一輪的循環。它可以用任何的循環裡,不論是While, Until, For還是其他的iterators。以下的例子以For循環為例。

 

3.3 三個常用的iterators: Loop, .each and .times

Iterators也是用來重複執行一段程式碼。基本上它們比循環循環要簡單一些。

3.3.1循環迭代器

Loop 不進行任何判斷,直接開始循環循環,很容易造成無限循環(程式跑不完)。通常要搭配”break”關鍵字來將循環結束掉。

下面的例子就是一個無限循環:

 

 3.3.2。每個迭代器

.each是用來將物件中的每個成員跑一遍。對陣列(array)尤其實用。先看看.each的語法,共有兩種:

以下就是用.each來處理陣列中的每個成員。忘記了陣列是什麼?沒關係,可以看這裡後面我們會更深入地介紹陣列,先來看看.each的這個範例。

 

 3.3.3次迭代器

.times跟For循環很像。它用在數字上,那個數字就代表循環次數。請看以下程式。

非常淺顯易懂吧,只要知道循環次數,.times就很好用。

 

轉貼至:https://nodejust.com/ruby-program-tutorials-loops-iterators/zh-cn/

arrow
arrow
    文章標籤
    Ruby on Rails
    全站熱搜

    F 發表在 痞客邦 留言(0) 人氣()