iT邦幫忙

2023 iThome 鐵人賽

DAY 8
0
Software Development

Zero to Ruby on Rails系列 第 8

Day 08 - Loop and Iteration 迴圈與迭代

  • 分享至 

  • xImage
  •  

在 Ruby 的迴圈主要有幾種:

  1. for 迴圈
  2. while 迴圈
  3. loop 迴圈
  4. method 式迴圈
  5. 迭代式迴圈

for 迴圈

emperors = ["草帽魯夫", "小丑巴奇", "黑鬍子", "紅髮傑克"]

for emperor in emperors
    puts emperor
end

變數的命名慣例上,通常會讓陣列是複數型態(例如 emperors),而每個元素則是使用單數型態命名(例如 emperor),這樣可以有較佳的可讀性。

while 迴圈

在 Ruby 中,while 迴圈是一種控制流程結構,用於重複執行一段程式碼,只要指定的條件保持為真(true)。

sum = 0
i = 1

while i <= 5
  sum += i
  i += 1
end

puts "1 到 5 的總和是:#{sum}"

# 印出 1 到 5 的總和是:15

tips: 在設定迴圈的條件時,要注意避免無限迴圈的發生

while 的影分身之術:until

while = until not 反之until = while not

sum = 0
i = 1

until i > 5
  sum += i
  i += 1
end

puts "1 到 5 的總和是:#{sum}"

loop 迴圈

count = 0

loop do
  puts "這是第 #{count + 1} 次迴圈。"
  count += 1

  if count >= 5
    puts "已執行 5 次迴圈,退出迴圈。"
    break  
  end
end

這邊記得 take a break 使用break 來退出迴圈,不然就會產生無窮迴圈喔!想試試也不是不行拉,電腦當機請自行負責

method 式迴圈

5.times do
puts "hello, ruby"
end


1.upto(5) do |i|
puts "hello, ruby #{i}"
end
5.downto(1) do |i|
puts "hello, ruby #{i}"
end

迭代 式迴圈

emperors = ["草帽魯夫", "小丑巴奇", "黑鬍子", "紅髮傑克"]

emperors.each do |emperor| 
  puts emperor
end

印出索引值

emperors = ["草帽魯夫", "小丑巴奇", "黑鬍子", "紅髮傑克"]

emperors.each.with_index do |emperor, x| 
  puts "#{x} #{emperor}"
end

預告

Day 09 預計來介紹區塊,我們明天見!


上一篇
Day 07 - Method 方法
下一篇
Day 09 - Block 程式碼區塊
系列文
Zero to Ruby on Rails30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言