Mat*_*teo 4 overloading operator-overloading binary-operators or-operator julia
我不断失去关于如何重新定义||
(“或”)或&&
(“和”)二元运算符的参考。我在某处读到,必须首先做的事情importall Base
。然后我尝试了
Base.||( x::MyType, y::MyType ) = dosomething( x, y )
Run Code Online (Sandbox Code Playgroud)
并且
Base.or( x::MyType, y::MyType ) = dosomething( x, y )
Run Code Online (Sandbox Code Playgroud)
但这些都不起作用。如果有人可以提供参考解释如何执行此操作的基础知识,我将不胜感激...我无法找到诸如“在 Julia 中重新定义二元运算符”之类的查询...
作为 && 和 || 是短路操作,如果不添加与功能分开的特殊结构,它们就不能过载。要调用函数,您需要评估所有参数,这不是短路评估。
您也许可以重载 & 和 | 相反,但如果没有示例用例,就很难说清楚。