【问题标题】:Check if an integer is within a range [duplicate]检查整数是否在范围内[重复]
【发布时间】:2011-03-31 03:32:10
【问题描述】:

有没有一种简单的方法可以使用(2..100) 语法来评估一个整数是否在该范围内。

例如,假设如果我的整数 x = 100 和我的范围是 (0..200),我想评估为真,我只是在寻找简单、简洁的 ruby​​ 方式来执行此操作。

【问题讨论】:

    标签: ruby


    【解决方案1】:

    在 Ruby 中有很多方法可以做同样的事情。您可以使用以下方法检查值是否在范围内,

    14.between?(10,20) # true

    (10..20).member?(14) # true

    (10..20).include?(14) # true

    但是,我建议使用between? 而不是member?include?

    所有数字文字都表示包含范围。 您可以在 Ruby in Rails 上找到更多相关信息。

    【讨论】:

    【解决方案2】:

    您可以使用=== operator:

    (1..10) === 1 #=> true
    (1..10) === 100 #=> false
    

    【讨论】:

    • 请注意,在使用此解决方案时,我发现您需要注意写1 === (1..10) 的条件的顺序将产生错误
    【解决方案3】:

    你可以使用范围的member?方法来测试这个

     (1..10).member?(1)   => true
     (1..10).member?(100) => false 
    

    【讨论】:

      【解决方案4】:
      (2..100).include?(5) #=> true
      (2..100).include?(200) #=> false
      

      请注意,2..0 是一个空范围,因此(2..0).include?(x) 将为x 的所有值返回false

      【讨论】:

        【解决方案5】:

        【讨论】:

          猜你喜欢
          • 2011-06-29
          • 2021-04-01
          • 2017-05-16
          • 1970-01-01
          • 2011-09-21
          • 2011-09-17
          • 2015-11-28
          • 2014-04-08
          • 2011-08-28
          相关资源
          最近更新 更多