在Ruby中使用“x ... n”有什么意义?

时间:2011-01-20 04:27:59

标签: ruby

我只是好奇。

下面的两段代码片段都没有做同样的事情吗?为什么有人想要使用...代替..,而..会不会更容易阅读?

for x in 1...11
     puts x
end

for x in 1..10
 puts x
end

很抱歉,如果这太主观了,我就是不明白我为什么要从1 to (n-1)代替1 to n

3 个答案:

答案 0 :(得分:10)

10.5已包含在1...11中,但未包含在1..10中。

不是1 to n1 to (n - 1),而是1 <= x <= n1 <= 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