Julia 朱莉娅:实现类型的标准数学运算

Julia 朱莉娅:实现类型的标准数学运算,julia,Julia,有没有一种方法可以在julia中实现用户创建类型的基本算法 例如: type Foo bar::Float32 foo::Int32 end a = Foo(3.23,23) b = Foo(4.56,54) c = a+b 如果可能的话,我该怎么做? 提前感谢您需要显式导入基本函数,以便为自己的类型添加方法。我不确定这是否是最好的方法,但下面将使您能够将两个foo添加到一起 type Foo bar::Float32 foo::Int32 end import Base:

有没有一种方法可以在julia中实现用户创建类型的基本算法

例如:

type Foo
    bar::Float32
    foo::Int32
end
a = Foo(3.23,23)
b = Foo(4.56,54)
c = a+b
如果可能的话,我该怎么做?
提前感谢

您需要显式导入基本函数,以便为自己的类型添加方法。我不确定这是否是最好的方法,但下面将使您能够将两个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
输入Foo
条::浮动32
foo::Int32
结束
进口基数:+

+(a::T,b::T)其中{T注意,如果您有许多这样的操作要扩展到新类型,那么您可以通过使用