我一直在失去关于如何重新定义||
(“或”)或&&
(“和”)二元运算符的参考。我读到某个地方必须先做importall Base
。然后我试了
Base.||( x::MyType, y::MyType ) = dosomething( x, y )
以及
Base.or( x::MyType, y::MyType ) = dosomething( x, y )
但这些都没有奏效。如果有人可以提供一个参考来解释如何执行此操作的基础知识,我将不胜感激...我无法找到一个查询,例如“重新定义Julia中的二元运算符”......
答案 0 :(得分:4)
As&&和||是短路操作,它们不能过载,不需要添加与功能分开的特殊结构。要调用函数,您需要评估所有参数,这不是短路评估。
你可能会超载&和|相反,但没有示例用例很难说。