Ruby 是一種非常靈活和強(qiáng)大的編程語(yǔ)言,它的循環(huán)結(jié)構(gòu)有很多創(chuàng)新的用法
each
、map
、select
等方法來(lái)遍歷集合,同時(shí)對(duì)這些集合進(jìn)行操作。例如:numbers = [1, 2, 3, 4, 5]
squared_numbers = numbers.map { |number| number * number }
puts squared_numbers.inspect # 輸出:[1, 4, 9, 16, 25]
def factorial(n)
if n == 0 || n == 1
1
else
n * factorial(n - 1)
end
end
puts factorial(5).inspect # 輸出:120
reduce
方法對(duì)數(shù)組求和:numbers = [1, 2, 3, 4, 5]
sum = numbers.reduce(0) { |total, number| total + number }
puts sum.inspect # 輸出:15
Enumerable
模塊提供了一系列方法,可以讓你在遍歷集合時(shí)執(zhí)行各種操作。例如,使用 each_with_index
方法遍歷數(shù)組并獲取元素及其索引:words = ['apple', 'banana', 'cherry']
words.each_with_index do |word, index|
puts "Index: #{index}, Word: #{word}"
end
each
、step
等方法遍歷范圍內(nèi)的整數(shù)。例如,打印 1 到 10 的奇數(shù):(1..10).step(2).each do |number|
puts number
end
這些創(chuàng)新用法使得 Ruby 的循環(huán)結(jié)構(gòu)更加強(qiáng)大和靈活,可以幫助你更高效地解決問(wèn)題。