什麼?!你我問什麼是迴圈?
迴圈就是在一個短短的程式中,連續執行多次重複的動作,執行的次數會依照程式碼設定的條件成立時才會結束迴圈。
所以我們可以透過迴圈,而不用一直寫重複的程式碼。
在 Ruby 中迴圈主要有幾種:
在使用while迴圈時,要得設定條件!
如果沒有設定或設定不當,很容易變成無限迴圈。
範例如下:
counter = 0
while counter < 5
puts "第#{counter}次"
counter += 1
end
# 印出
# 第0次
# 第1次
# 第2次
# 第3次
# 第4次
如果用白話文講,意思是只要counter
的值小於 5,就一直執行!
要注意 counter += 1
要記得設定,不然會變成無窮迴圈喔!
假如有一個陣列,而且想把裡面的元素一個一個印出來,可以用 for...in。
month = [JAN, FEB, MAR, APR, MAY]
for month in months
puts month
end
# 印出
# JAN
# FEB
# MAR
# APR
# MAY
times方法可以指定要跑幾次迴圈,如下:
3.times do
puts "Hello World"
end
# 印出
# Hello World
# Hello World
# Hello World
這樣是不是很直覺啊!
除了 times
可以用以外,還可以用 upto
正向從 1 數到 5 :
1.upto(5) do |i|
puts "hi, ruby #{i}"
end
# 印出
# hi, ruby 1
# hi, ruby 2
# hi, ruby 3
# hi, ruby 4
# hi, ruby 5
還可以反向從 5 數到 1:
5.downto(1) do |i|
puts "hi, ruby #{i}"
end
# 印出
# hi, ruby 5
# hi, ruby 4
# hi, ruby 3
# hi, ruby 2
# hi, ruby 1
除了用 for...in
印出陣列中的東西,更常使用 each
來做:
names = ["Winni", "Ann", "Chaya"]
names.each do |s|
puts s
end
# 印出
# Winni
# Ann
# Chaya
參考資料: