Julia结构中是否可能有“公共/全局”字段?

时间:2019-06-18 14:21:53

标签: julia

在Julia中,例如可以在函数中包含公共字段

function foo(arg)
  global a = arg
  a
end

使用Julia结构是否有可能实现类似的目的。 例如,我想做的是:

julia> struct foobarfoo
       global a
       end

julia>

julia> test = foobarfoo(1)
ERROR: MethodError: no method matching foobarfoo(::Int64)
Stacktrace:
 [1] top-level scope at none:0

julia> a
ERROR: UndefVarError: a not defined

代替:

julia> struct foobarfoo
   a
   end

julia> test = foobarfoo(1)
foobarfoo(1)

julia> test.a
1

julia>

1 个答案:

答案 0 :(得分:2)

我认为简短的答案是“否”,但是您可以使用Parameters.jl$"Int value: {someInt:D4} or {someInt:0000}. Float: {someFloat: 00.00}" 宏来实现所需的功能。