Ruby中的..和...之间的区别

时间:2016-05-01 06:40:11

标签: ruby

在ruby for循环中,..和...之间有什么区别。

for num in 1..5
    puts num
end

VS

for num in 1...5
    puts num
end

这两个循环有何不同。

3 个答案:

答案 0 :(得分:1)

  

三个点表示结束在终结符之前停止,   两个点表示它包含终止符。

SRC:http://strugglingwithruby.blogspot.pt/2008/11/loops.html

1...5 - > 1至4

1..5 - > 1至5

答案 1 :(得分:0)

区别在于包容性和无包容性范围。

即:

(1..5).to_a
# => [1, 2, 3, 4, 5]
(1...5).to_a
# => [1, 2, 3, 4]

出于这个原因,你的循环将有不同的循环次数。

答案 2 :(得分:0)

在红宝石中1...5为您提供的范围不包含51..5为您提供的范围包括5

例如:

>> (1..5).to_a
[
    [0] 1,
    [1] 2,
    [2] 3,
    [3] 4,
    [4] 5
]
>> (1...5).to_a
[
    [0] 1,
    [1] 2,
    [2] 3,
    [3] 4
]