代码之家  ›  专栏  ›  技术社区  ›  mko

Ruby中的整数范围

  •  4
  • mko  · 技术社区  · 15 年前

    我是Ruby的新手,我在Ruby指南中遇到了一个问题:

    此表达式是否返回true?

    2005年至2009年==2007年

    但我不知道为什么我从下面的代码中得到这个警告消息

    wishTraditional.rb:4: warning: integer literal in conditional range
    

    代码:

    def makTimeLine(year)
    if 1984 === year
            "Born."
    elsif 2005..2009 === year
            "Sias."
    else
            "Sleeping"
    end
    end
    puts makTimeLine(2007)
    

    它又恢复了睡眠,这是错误的,应该是西亚斯人。

    顺便问一下,这两点是什么意思?我怎样才能找到更多关于它的信息?

    2 回复  |  直到 7 年前
        1
  •  11
  •   John Gallagher    7 年前

    elsif (2005..2009).include?(year)
    

    Ruby ranges

    elseif (2005..2009) === year
    
        2
  •  3
  •   Tim James    15 年前

    def makTimeLine(year)
      case year
      when 1984
        "Born."
      when 2005..2009
        "Sias."
      else
        "Sleeping"
      end
    end
    
    推荐文章