我一直在失去如何重新定义||
("or")或&&
("and")二元运算符的参考。 我在某处读到,必须先做importall Base
.然后我试了
Base.||( x::MyType, y::MyType ) = dosomething( x, y )
还有
Base.or( x::MyType, y::MyType ) = dosomething( x, y )
但这些都没有奏效。如果有人能提供参考,解释如何做到这一点的基础知识,我将不胜感激......我找不到一个查询,例如"在 Julia 中重新定义二进制运算符"......
由于 && 和 || 是短路操作,因此它们不能过载,除非添加与函数分开的特殊结构。要调用函数,您需要计算所有参数,这不会是短路计算。
你也许可以重载和和|,但如果没有示例用例,很难说。