Mutable struct的参数与struct

时间:2018-08-28 03:55:45

标签: julia

我试图用参数输入创建可变结构Neuron,该参数输入是Neuron的向量。朱莉娅有可能吗? 以下是我在做什么。

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

我正在使用julia 1.0。错误: 错误:LoadError:常量神经元的无效重新定义

1 个答案:

答案 0 :(得分:1)

在Julia中可以使用自引用类型,如以下Julia文档中所示:https://docs.julialang.org/en/v1.0.0/manual/constructors/#Incomplete-Initialization-1

这个想法是,您先使用inner constructorsnew()构造函数来创建一个未完全初始化的Neuron,然后再使用它来创建其他Neuron。

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