Ruby “拥有”的意义是什么;x、 …n“;用红宝石?

Ruby “拥有”的意义是什么;x、 …n“;用红宝石?,ruby,Ruby,我只是好奇 下面的两段代码不是都在做同样的事情吗?为什么有人想用…而不是。,。会更容易阅读吗 for x in 1...11 puts x end for x in 1..10 puts x end 抱歉,如果这太主观了,我只是不明白为什么我想从1到(n-1)而不是1到n有时某些数据结构中的索引从0到struct.size()-1。因此,有一种说法很有帮助: a = ['a','b','c'] for i in 0 ... a.length puts a[i] end 将

我只是好奇

下面的两段代码不是都在做同样的事情吗?为什么有人想用
而不是
会更容易阅读吗

for x in 1...11
     puts x
end

for x in 1..10
 puts x
end

抱歉,如果这太主观了,我只是不明白为什么我想从
1到(n-1)
而不是
1到n
有时某些数据结构中的索引从0到struct.size()-1。因此,有一种说法很有帮助:

a = ['a','b','c']
for i in 0 ... a.length
   puts a[i]
end

将打印
'a'
'b'
'c'
。如果您使用
表单,它将打印额外的
nil
10.5
包含在
1…11
中,但不包含在
1…10


它不是
1到n
1到(n-1)
,而是
1如果使用
n-1
,那么如果
n
为0,则
n-1
为-1,用于指示数组的结尾

array[0...0] # Returns no elements
array[0..-1] # Returns all elements

更准确地说,有无限数量的数字包含在
1…11
中,但不包含在
1…10
中,即所有大于
10
但小于
11
的数字。考虑到两者之间存在无限多的差异,我认为这符合“不做同样的事情”的条件@Joerg:至少在MRI/YARV中,10到11之间的
浮点数不是只有有限的吗?@Andrew从技术上说,我想是的,尽管我认为这个数字足够大,在大多数情况下实际上是无限的。从数学上讲,它是无限的