如果语句运算符作为ruby中的变量

-1 ruby variables variable-assignment operator-keyword

我想在ruby中做这样的事情:

x = 0
y = 1
z = "!="

if x #{z} y
  puts "True"
end
#True
#=> nil

x = 1
if x #{z} y
  puts "True"
end
#True
#=> nil
Run Code Online (Sandbox Code Playgroud)

使用运算符作为变量不会计算表达式.任何方式来做到这一点.

Urs*_*sus 7

试试这个吧

x = 0
y = 1
z = "!="

x.public_send(z, y)
=> true
Run Code Online (Sandbox Code Playgroud)

这里的诀窍是知道这3 >= 5是语法糖3.>=(5)