【发布时间】:2019-04-08 18:46:15
【问题描述】:
我的 Ruby 代码中有一个 case,它基本上尝试以几种方式匹配字符串并相应地对其执行不同的操作,有点像这样:
case inst
when Rx_inst1
(some function)
when Rx_inst2
(some other function)
end
这很好用(我没有发布正则表达式,因为它非常非常长并且效果很好)。但是,当我尝试实现以下修改时,即使 RegEx 匹配字符串,如果它包含子字符串,则不会执行条件:
case inst
when Rx_inst1
(some function)
when Rx_inst2 && !/dom\./
(some other function)
end
当它等于Nm. Friese = Fryzyjczyk, koń fryzyjski 或它之前匹配的任何其他类型的字符串时,它Rx_inst2 停止匹配inst。
我得到了与&& /dom\./ 和&& inst.include?('dom.') 完全相同的结果,根据其他答案,这是正确的语法。我做错了什么?
【问题讨论】:
标签: ruby conditional operators