我正在阅读一些ruby代码,并且在类似情况下使用0..size
和0...size
。
是否有任何差异,或者它们只是相同?
答案 0 :(得分:5)
实际上非常简单。 ..
包含范围内的结束值(因此2..5
为2,3,4,5)而...
将其排除(因此2..5
为2,3,4) 。没有更多的东西。
答案 1 :(得分:2)
..
(两个点)意味着ju想要一个包容范围。 ...
(三个点)表示您想要一个范围但是省略最后一个元素。例如:
0..5
返回0, 1, 2, 3, 4, 5
0...5
返回0, 1, 2, 3, 4
答案 2 :(得分:1)
..
创建包含Range
,...
创建一个Range对象,其中排除了右边界。
(0..5).to_a
# => [0, 1, 2, 3, 4, 5]
(0...5).to_a
# => [0, 1, 2, 3, 4]