如何在 Julia 中重载/重新定义二进制运算符



我一直在失去如何重新定义||("or")或&&("and")二元运算符的参考。 我在某处读到,必须先做importall Base.然后我试了

Base.||( x::MyType, y::MyType ) = dosomething( x, y )

还有

Base.or( x::MyType, y::MyType ) = dosomething( x, y ) 

但这些都没有奏效。如果有人能提供参考,解释如何做到这一点的基础知识,我将不胜感激......我找不到一个查询,例如"在 Julia 中重新定义二进制运算符"......

由于 && 和 || 是短路操作,因此它们不能过载,除非添加与函数分开的特殊结构。要调用函数,您需要计算所有参数,这不会是短路计算。

你也许可以重载和和|,但如果没有示例用例,很难说。

相关内容

  • 没有找到相关文章

最新更新