美文网首页
Ruby === 与 case 语句

Ruby === 与 case 语句

作者: changsanjiang | 来源:发表于2017-10-19 15:44 被阅读8次

    case 语句在判断与 when 指定的值是否相等时, 实际上是使用 === 运算符来判断的. 左边是数值或者字符串时, === 与 == 的意义是一样的, 除此之外, === 还可以与 =~ 一样来判断正则表达式是否匹配, 或者判断右边的对象是否属于左边的类, 等等. 相比单纯地判断两边的值是否相等, === 能表达更加广义的"相等".

    BlueDancerdeMacBook-Pro:~ bluedancer$ irb --simple-prompt
    >> p (/zz/ === "xyzzy")
    true
    => true
    >> p (String === "abc")
    true
    => true
    >> p ((1..3) === 2)
    true
    => true
    >> 
    

    用 if 语句改写case语句的程序如下:
    请注意 when 指定的对象 在 === 的左边

    case value
        when A                  if A === value
            处理 1                    处理 1
        when B                  elsif B === value
            处理 2                    处理 2
        else                    else
            处理 3                    处理 3
    end                         end
    
    

    相关文章

      网友评论

          本文标题:Ruby === 与 case 语句

          本文链接:https://www.haomeiwen.com/subject/sdnuuxtx.html