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

Jam*_*mes 4 ruby

我只是好奇.

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

for x in 1...11
     puts x
end

for x in 1..10
 puts x
end
Run Code Online (Sandbox Code Playgroud)

对不起,如果这太主观,我只是不明白为什么我想要1 to (n-1)而不是1 to n

dec*_*eze 10

10.5包括在内1...11,但不包括在内1..10.

这不是1 to n对战1 to (n - 1),而是1 <= x <= n对战1 <= x < m.

  • 更准确地说,有一个*无限*数量的数字包含在`1 ... 11`中但不包含在`1..10`中,即所有数字大于'10`但小于'11`.鉴于两者之间存在着无限的差异,我认为这可以说是"不做同样的事情". (3认同)

Mih*_*der 5

有时,某些数据结构中的索引从0形式转换为struct.size() - 1.然后有一种说法:

a = ['a','b','c']
for i in 0 ... a.length
   puts a[i]
end
Run Code Online (Sandbox Code Playgroud)

将打印'a','b','c'.你使用..它将打印一个额外的表格nil.