比較常使用的 Loop方式有九種
1. Loop
最傳統也常見的 loop指令,指定起始的 number序號,每次執行過程中 number序號自動加上1,同時在前端加上 break if讓序號大於指定數字時中斷執行,這是七種方式中最不像 Ruby的 loop方式。
** Ruby自動產生的數字由 0開始,而不是 1
***中斷方式Break if
第二種方式 redo if
在這個例子裡面我們讓gets的時候,當發現到typo就會自動地跳回前端loop再 do一次,所以就很 next if 的功能,但他並不是skip,所以line_counter有繼續加總。
第三種方式 next if,當輸入typo的時候會跳過當次迴圈的執行內容,因此line_count並沒有增加。
2. until
指定起始的 number 序號,使用 until number 大於指定數字持續的 do,每次執行過程中 number序號自動加上1。這種方式不需要加上 break,可以少打幾個字。
除了數字之外,until也可以用條件來決定flow。
3. While
指定起始的 number 序號,使用 while number 小於指定數字持續的 do,每次執行過程中 number序號自動加上1。這種方式也不需要加上 break。或者用條件式處理:
4. times
當我有一串數字或文字資料,依照清單中的數量一個一個接著執行。
例如:
6. each (range)
跟list.each的差別在於,rage著重在一段連續的序列值的運用。可以使用兩個整數代數的區間差異來決定 loop的頻率。
**兩個數值中間放兩個點跟三個點的差異在於
兩個點= count till 算到最後一個值
三個點 = count before 算到最後一個值<color=red>之前<\color>
7.for
for兩個數值之前 do,主要也是用在兩個代數中間的次數當作 loop的次數。
今天又看到兩種寫法,於此補充(可與for比較)
依照一個清單中的資訊數量來當作執行的次數
詳見 %w用法。
在Loop中如果要跳過某些 Array中的資料或序列的時候,可以用 NEXT IF
最後附上一個簡單的密碼產生器寫法,非常的不精簡,但比較容易讓剛接觸 Ruby的朋友們看得懂:)
留言
張貼留言