在Ruby中,循环结构主要有两种:each
和each_with_index
。这些循环结构的细节如下:
each
循环:
collection.each { |item| block }
collection
是要遍历的集合,block
是一个包含单个表达式的代码块,用于处理每个集合元素。array = [1, 2, 3, 4, 5]
array.each { |num| puts num }
# 输出:
# 1
# 2
# 3
# 4
# 5
each_with_index
循环:
collection.each_with_index { |item, index| block }
collection
是要遍历的集合,block
是一个包含两个表达式的代码块,第一个表达式表示当前元素,第二个表达式表示当前元素的索引。array = ['a', 'b', 'c', 'd', 'e']
array.each_with_index { |char, idx| puts "Index: #{idx}, Character: #{char}" }
# 输出:
# Index: 0, Character: a
# Index: 1, Character: b
# Index: 2, Character: c
# Index: 3, Character: d
# Index: 4, Character: e
其他循环结构:
times
循环:用于执行指定次数的循环。collection.times { block }
collection
是要遍历的次数,block
是一个包含单个表达式的代码块。5.times { puts "Hello, World!" }
# 输出:
# Hello, World!
# Hello, World!
# Hello, World!
# Hello, World!
# Hello, World!
注意事项:
select
、reject
等。break
语句。next
语句。