有没有办法在 julia 中为用户创建的类型实现基本算术
例如:
type Foo
bar::Float32
foo::Int32
end
a = Foo(3.23,23)
b = Foo(4.56,54)
c = a+b
如果可能的话,我怎样才能做到这一点?
提前致谢
您需要显式导入 Base 函数,以便在其上添加您自己的类型的方法。我不确定这是否是最好的方法,但以下内容将使您能够将两个 Foo 添加在一起。
type Foo
bar::Float32
foo::Int32
end
import Base: +
+(a::T, b::T) where {T<:Foo} = Foo(a.bar+b.bar, a.foo+b.foo)
a = Foo(3.23,23)
b = Foo(4.56,54)
c = a+b
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)