iT邦幫忙

2023 iThome 鐵人賽

DAY 14
0
自我挑戰組

自我挑戰Ruby系列 第 14

Day 14 - 流程控制3

  • 分享至 

  • xImage
  •  

迴圈控制

如果條件成立則進入迴圈,執行迴圈內的動作。

每完成一次迴圈內動作,則在重投做一次原本的條件判斷,

一直做到條件不成立後,才跳脫迴圈內的模式。

for迴圈

for 迴圈主要是以for…in為主。

例如:

languages = ["English", "Chinese", "Japanese"]

for language in languages

	puts language

end

藉由for迴圈將language做languages陣列裡面所有的元素,最後會印出所有的languages。

https://ithelp.ithome.com.tw/upload/images/20230929/20162251XY0pPiwpkm.png

while迴圈

while迴圈主要是當給定一個條件,迴圈開始做,一直做到條件不成立為止。

例如:


x=1

while x < 5

    puts "No.#{x}”

    x += 1

end

x 現在為1,當x < 5 時要印出No.幾。

要注意如果不藉由x += 1,這樣x永遠都會是1,

這樣這個迴圈永遠無法結束,所以執行迴圈時,要注意不要困在迴圈裡面。

https://ithelp.ithome.com.tw/upload/images/20230929/20162251oafeBP5j7T.png

until = while not

until主要是做迴圈,直到某個條件成立就停止,

while是做迴圈,直到某個條件不成立就停止。

所以until 即為while not,而while 即是until not。

而上面的例子可以改成:


x=1

until not x < 5

    puts "No.#{x}”

    x += 1

end

https://ithelp.ithome.com.tw/upload/images/20230929/20162251eFMtS7EgqZ.png

若要將這個程式改為以until為主,則條件句要改為 x > 4。

https://ithelp.ithome.com.tw/upload/images/20230929/20162251Dk4bQDVNHb.png

loop迴圈

loop迴圈主要以 loop do 開頭而以break作為結束。

break當條件符合之後,就不會再做了。

例如:


i = 1

loop do

    puts "No.#{i}"

    i += 1

    break if i > 3

end

而當 i 大於 3 就不會再做。

https://ithelp.ithome.com.tw/upload/images/20230929/201622515glXQQKvrc.png

Day 14 結語

對於流程控制,我們會藉由這些迴圈控制方法來操控,

除此之外,之後還會藉由方式以及迭代的方法來做流程控制。

我們會藉由在引號內加入 #{變數}來讓變數裡面的值做替換,雖然一開始我沒有很習慣,所以常常寫錯,

但藉由不斷的練習,來做改善,希望越來越好。


上一篇
Day 13 - 流程控制2
下一篇
Day 15 - 流程控制4
系列文
自我挑戰Ruby30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言