📜  Ruby For循环(1)

📅  最后修改于: 2023-12-03 15:19:51.856000             🧑  作者: Mango

Ruby For循环

在 Ruby 中,for 循环用于遍历集合或区间并在每次迭代中执行一个代码块。

语法
for element in collection
  # 代码块
end

其中,element 是在循环中使用的变量,它会依次被赋值为 collection 中的每个元素。collection 可以是数组、哈希表等可迭代对象,也可以是一个范围。

示例
# 遍历数组
fruits = ['apple', 'banana', 'orange']
for fruit in fruits
  puts "I like #{fruit}!"
end

# 遍历哈希表
ages = {
  'Alice' => 25,
  'Bob' => 30,
  'Charlie' => 35
}
for name, age in ages
  puts "#{name} is #{age} years old."
end

# 遍历整数范围
for i in 1..5
  puts "Counting: #{i}"
end

输出结果:

I like apple!
I like banana!
I like orange!
Alice is 25 years old.
Bob is 30 years old.
Charlie is 35 years old.
Counting: 1
Counting: 2
Counting: 3
Counting: 4
Counting: 5
循环控制

在 for 循环中可以使用 breaknext 进行循环控制。其中,break 可以立即退出循环,next 可以跳过本次迭代。

# break 例子
for i in 1..5
  puts "Counting: #{i}"
  if i == 3
    break
  end
end

# next 例子
for i in 1..5
  if i == 3
    next
  end
  puts "Counting: #{i}"
end

输出结果:

Counting: 1
Counting: 2
Counting: 3

Counting: 1
Counting: 2
Counting: 4
Counting: 5
each 方法

for 循环本质上是对 each 方法的语法糖。因此,我们也可以使用 each 方法进行迭代,通常更加灵活。

fruits = ['apple', 'banana', 'orange']
fruits.each do |fruit|
  puts "I like #{fruit}!"
end

ages = {
  'Alice' => 25,
  'Bob' => 30,
  'Charlie' => 35
}
ages.each do |name, age|
  puts "#{name} is #{age} years old."
end

(1..5).each do |i|
  puts "Counting: #{i}"
end

输出结果与之前相同。