在 ruby​​ 中的 if 语句运算符中使用变量

Bra*_*rad 0 ruby

我有一个包含'&&'or的变量,'||'我需要在像这样的 if 语句中使用它。

operator = '&&'

result = 1===1 operator 2===2

#=> result = 1===1 && 2===2
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

我尝试使用#public_send但无济于事。

任何帮助,将不胜感激。

tad*_*man 6

所述&&操作者是多于一个低级别语法元素的&|它们是方法调用。这使得它更难做到。

但是,有两种方法:

a = true
b = false
c = true
Run Code Online (Sandbox Code Playgroud)

如果你想要&&等价:

[ a, b, c ].all?
# => false
[ a, c ].all?
# => true
Run Code Online (Sandbox Code Playgroud)

如果你想要||等价:

[ a, b, c ].any?
# => true
[ a, b ].any?
# => true
[ b ].any?
# => false
Run Code Online (Sandbox Code Playgroud)