小编Leo*_*eon的帖子

在 Julia 中,如何为 2 个以上的结构定义运算符?

在 Julia 中,我有自己的结构,例如MyNumber. 我想*为我的结构定义一个运算符,例如产品运算符。以下是我尝试过的。

struct MyNumber
    name::String
    value::Int
end

x1 = MyNumber("postive", 4)
x2 = MyNumber("postive", 3)

# define product operator for MyNumber
a::MyNumber * b::MyNumber = MyNumber("no_name", a.value + b.value)

y = x1*x2
println(y) # ok here, output: MyNumber("no_name", 7)
Run Code Online (Sandbox Code Playgroud)

它运作得很好。但是,当我尝试将产品应用于 2 个以上的输入时,例如z=x1*x2*x1*x2*x2,我收到错误。遇到这样的情况我该如何处理?

macros struct operators julia

4
推荐指数
2
解决办法
391
查看次数

标签 统计

julia ×1

macros ×1

operators ×1

struct ×1