我只是好奇。
下面的两段代码片段都没有做同样的事情吗?为什么有人想要使用...
代替..
,而..
会不会更容易阅读?
for x in 1...11
puts x
end
for x in 1..10
puts x
end
很抱歉,如果这太主观了,我就是不明白我为什么要从1 to (n-1)
代替1 to n
答案 0 :(得分:10)
10.5
已包含在1...11
中,但未包含在1..10
中。
不是1 to n
与1 to (n - 1)
,而是1 <= x <= n
与1 <= x < m
。
答案 1 :(得分:5)
有时,某些数据结构中的索引从0形式转换为struct.size() - 1.然后有一种说法:
a = ['a','b','c']
for i in 0 ... a.length
puts a[i]
end
将打印'a'
,'b'
,'c'
。您使用..
表格打印其他nil
。
答案 2 :(得分:0)
如果您使用n - 1
,那么如果n
为0,则n - 1
为-1,用于表示数组的结束。
array[0...0] # Returns no elements
array[0..-1] # Returns all elements