以n.times do ~end的形式。
其中n為個數,times的方式即是以n為次數的迴圈。
例如:
3.times do
puts "---"
end
3.times 即是迴圈做3次。
當第一次時,會印出 - - -
當第二次時也印出 - - -
以此類推… 做了3次一樣的事。
以r.upto(n) do |i|~end的形式。
代表從r次連續做,遞增做到第n次。
例如:1.upto(3) 代表從1開始做到3。
起始值也可以從其他數字為起始值,
例如:2.upto(6)代表從2開始做到6。
以r.downto(n) do |i|~end的形式。
代表從r次連續做,遞減做到第n次。
例如:5.upto(1) 代表從5開始做到1。
起始值也可以從其他數字為起始值,
例如:6.upto(3)代表從6開始做到3。
迭代主要是在做重複做相同的事,迭代式其實跟一般迴圈的概念相同,
將一個一個元素都看過,而對某個對象做迴圈。
以x.each do~end的形式。
例如:
names = ["Andy", "Allen", "Arance"]
names.each do |name|
puts "hi!#{name}"
end
藉由each do 讓每個元素印出來。
names.each.with_index do |name, ind|
puts "No.#{ind+1},#{name}"
end
藉由with_index讓每個元素有個序號,但由於序號從0開始,這邊藉由ind+1,使第一個為1。
藉由了很多篇來描述了流程控制,希望藉由這些方法未來做流程控制可以更上手,
由不斷的練習來改善自己的不足,讓自己對這些方法更上手,不斷促進自己學習上的成長。