当前位置:  开发笔记 > 后端 > 正文

在Ruby中的条件有条件的布尔运算符AND和OR之间没有区别

如何解决《在Ruby中的条件有条件的布尔运算符AND和OR之间没有区别》经验,为你挑选了1个好方法。

在Ruby case条件中,我看不出布尔运算符AND和OR之间的实际区别.

例如,我想让用户输入句子:

sudo make me a sandwich

案件条件开始如下:

case user_selection
when /sudo/ && /sandwich/

但是,如果用户输入:

make me a sandwich

条件将是满意的.

在这种情况下我的方法是重新排序条件:

case user_selection
when /sandwich/ && /sudo/

但是,预先假定每次用户想要使用"sudo"时,他们会在响应中包含字符串"sandwich".但是,这在功能上与此无异:

case user_selection
when /sudo/

我查找了Ruby条件的布尔运算符,但没有找到满意的答案.



1> spickermann..:

你不能&&在像这样的案例块中使用,因为when /sudo/ && /sandwich/评估只是when /sandwich/.

相反,您需要使用一个查找两个单词的正则表达式.一个简单的例子可能是:

case user_selection
when /sudo.*sandwich/

推荐阅读
135369一生真爱_890
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有