for i in [0..4] do
puts i + 1
end
未定义的方法`+' for 0..4:Range(NoMethodError)
为什么不将该范围内的每个数字视为循环中的fixnum?
答案 0 :(得分:2)
[0..4]
实际上是一个范围元素的数组,与[(0..4)]
相同。您需要将其更改为(0..4)
。
答案 1 :(得分:1)
改为写:
for i in 0..4 do
否则你没有范围,你有一个包含1个范围的数组。
答案 2 :(得分:0)
实现目标有多种方法:
0.upto(4) { |i|
puts i
}
0.step(4, 1) { |i|
puts i
}
5.times { |i| # 5 for inclusive
puts i
}
for i in 0..4
puts i
end
一切都会输出:
# ⇒ 0
# ⇒ 1
# ⇒ 2
# ⇒ 3
# ⇒ 4
希望它有所帮助。