这是一个非常无聊的白日梦,但是否可以通过一些巧妙的元编程技巧在 Ruby 中定义一个新的逻辑运算符?我想定义一个 but
运算符。
例如,如果我想在 x
而不是 y
为真时做某事,我必须编写如下内容:
if x and not y
但是我想写
if x but not y
它的工作方式应该与 和
完全相同,但要由程序员合理使用以提高代码的易读性。
最佳答案
如果不编辑 Ruby 解析器和源代码并编译新版本的 Ruby,你就做不到。如果你愿意,你可以使用这个丑陋的语法:
class Object
def but(other)
self and other
end
end
x.but (not y)
请注意,您不能删除此代码段中的括号或空格。它还会将代码的功能隐藏到阅读您代码的其他人身上。不要这样做。
关于ruby - 在 Ruby 中定义新的逻辑运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8297645/