Параметры Mutable struct того же типа, что и структура - PullRequest
0 голосов
/ 28 августа 2018

Я пытаюсь создать изменяемую структуру Neuron с входными параметрами, имеющими тип vector Neuron. Возможно ли это в Юлии. Вот что я делаю.

mutable struct Neuron
inputs::Vector{Neuron}
weights::Vector{Float64}
func::Function
output::Float64
#= parameters::Vector{Float64} =#
end

Я использую Джулию 1.0. Ошибка: ОШИБКА: LoadError: неверное переопределение константы Neuron

1 Ответ

0 голосов
/ 28 августа 2018

Само-ссылочные типы возможны в Юлии, как показано в документе Юлия здесь: https://docs.julialang.org/en/v1.0.0/manual/constructors/#Incomplete-Initialization-1

Идея состоит в том, что вы используете внутренние конструкторы и конструктор new(), чтобы сначала создать не полностью инициализированный нейрон, а затем использовать его для создания других нейронов.

mutable struct Neuron
  inputs::Vector{Neuron}
  # forgetting about the other fields for a second
  Neuron() = new()
  # or alternatively Neuron() = begin (x=new(); x.inputs = [x]; x) end
end
...