Ruby代码

时间:2015-10-24 05:40:47

标签: ruby

请您解释一下这个红宝石代码中的 =〜运算符?是否等同于“匹配”

def method_missing(method_name, *argument, &block)
  if method_name.to_s =~ /user_(.*)/
    user.send($1, *argument, &block)
  else
    super
  end
end

感谢

1 个答案:

答案 0 :(得分:0)

match=~之间存在细微差别。 match返回描述匹配的MatchData对象。但是=~返回第一个匹配的索引。如果没有,他们都返回nil 匹配发现。

我强烈建议您浏览docs