Возможно ли иметь "публичные / глобальные" поля в структурах Юлии? - PullRequest
0 голосов
/ 18 июня 2019

В Julia можно иметь открытые поля в функциях, например

function foo(arg)
  global a = arg
  a
end

Можно ли достичь чего-то подобного, используя структуры Юлии. Например, что я хотел бы сделать, это:

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 Ответ

2 голосов
/ 18 июня 2019

Я думаю, что короткий ответ - нет, но вы можете достичь желаемого, используя макрос @unpack из Parameters.jl .

...