我试图用参数输入创建可变结构Neuron,该参数输入是Neuron的向量。朱莉娅有可能吗? 以下是我在做什么。
mutable struct Neuron
inputs::Vector{Neuron}
weights::Vector{Float64}
func::Function
output::Float64
#= parameters::Vector{Float64} =#
end
我正在使用julia 1.0。错误: 错误:LoadError:常量神经元的无效重新定义
答案 0 :(得分:1)
在Julia中可以使用自引用类型,如以下Julia文档中所示:https://docs.julialang.org/en/v1.0.0/manual/constructors/#Incomplete-Initialization-1
这个想法是,您先使用inner constructors和new()
构造函数来创建一个未完全初始化的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