Ruby 有如此漂亮的语法糖,我确信这会起作用:
f = :+
g = 1 f 2 // => 3
当然,事实并非如此。
有类似的吗?显然有很多简单的方法可以解决这个问题,但是 Ruby 对神奇糖的 promise 是否可以扩展到做这样的事情?
最佳答案
是的,您可以使用 Object#public_send
方法:
f = :+
puts 1.public_send(f, 2) # => 3
来自文档:
Invokes the method identified by symbol, passing it any arguments specified. Unlike #send, #public_send calls public methods only.
关于ruby - 使用 Ruby 将运算符存储在变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28378317/