gpt4 book ai didi

operator-overloading - 如何在 Julia 中重载/重新定义二元运算符?

转载 作者:行者123 更新时间:2023-12-04 08:21:58 25 4
gpt4 key购买 nike

关于如何重新定义 ||(“或”)或 &&(“和”)二元运算符,我一直找不到引用资料。我在某处读到必须先做 importall Base 。然后我试了一下

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

还有

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

但是这些都不起作用。如果有人可以提供引用来解释如何执行此操作的基础知识,我将不胜感激……我找不到带有诸如“在 Julia 中重新定义二元运算符”之类的查询的引用……

最佳答案

作为 && 和 ||是短路操作,如果不添加与功能分开的特殊结构,它们就不能重载。要调用函数,您需要评估所有参数,这不是短路评估。

您可以重载 & 和 |相反,但如果没有示例用例,很难说清楚。

关于operator-overloading - 如何在 Julia 中重载/重新定义二元运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22771875/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com