gpt4 book ai didi

ruby - 测试字符串是否不等于两个字符串中的任何一个

转载 作者:数据小太阳 更新时间:2023-10-29 06:36:30 24 4
gpt4 key购买 nike

我刚开始学习 RoR,所以请多多包涵。我正在尝试用字符串编写 if 或语句。这是我的代码:

<% if controller_name != "sessions" or controller_name != "registrations" %>

我尝试了很多其他方法,使用括号和 || 但似乎没有任何效果。也许是因为我的 JS 背景......

如何测试变量是否不等于字符串一或字符串二?

最佳答案

这是一个基本的逻辑问题:

(a !=b) || (a != c) 

只要 b != c 就永远为真。一旦你记住了 bool 逻辑

(x || y) == !(!x && !y)

然后你就可以从黑暗中找到出路了。

(a !=b) || (a != c) 
!(!(a!=b) && !(a!=c)) # Convert the || to && using the identity explained above
!(!!(a==b) && !!(a==c)) # Convert (x != y) to !(x == y)
!((a==b) && (a==c)) # Remove the double negations

(a==b) && (a==c) 为真的唯一方法是 b==c。因此,由于您已给出 b != c,if 语句将始终为假。

只是猜测,但可能你想要

<% if controller_name != "sessions" and controller_name != "registrations" %>

关于ruby - 测试字符串是否不等于两个字符串中的任何一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16870540/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com