【问题标题】:Is there any difference when defining a range with two dots and three dots in ruby? [duplicate]在 ruby​​ 中定义两个点和三个点的范围有什么区别吗? [复制]
【发布时间】:2015-03-05 06:37:41
【问题描述】:

我在我的 Rails 控制台中尝试过这个。

2.0.0-p481 :012 > a = 1
 => 1 
2.0.0-p481 :013 > z = 26
 => 26 
2.0.0-p481 :014 > a..z
 => 1..26 
2.0.0-p481 :015 > a...z
 => 1...26 

两者有什么区别?

【问题讨论】:

标签: ruby


【解决方案1】:

快速检查:

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

其明显的... 不包括最后一个值,即它的范围直到n-1

【讨论】:

    【解决方案2】:

    是的,两个点的版本包含最后一个元素,三个点的版本不包含:

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

    【讨论】:

      猜你喜欢
      • 2011-11-07
      • 2010-10-02
      • 2016-02-14
      • 2012-03-30
      • 2019-11-15
      • 1970-01-01
      • 1970-01-01
      • 2020-12-29
      • 2010-11-19
      相关资源
      最近更新 更多