我对 Julia 完全陌生(今天早些时候才开始),所以如果这是一个愚蠢的问题,请原谅我,但是尽管喜欢这种语言,但我并没有找到很多很好的调试帮助。
基本上,我只想为一个方法定义一个备用构造函数,该方法将在输入包含任何类型整数(int32、uint8 等)的数组时激活。
我认为这会相对简单,并写了以下内容:
type MyType
weight_matrices::Array{Array{FloatingPoint}}
MyType(layer_sizes::Array{Integer}) =
new([
rand(layer_sizes[i], layer_sizes[i+1]) for i in [1:length(layer_sizes)-1]
])
end
但是当我尝试使用它时:
test = MyType([1,2,1])
我得到错误:
ERROR: no method MyType(Array{Int64, 1})
正如人们所假设的那样,将备用构造函数从 切换Array{Integer}
到Array{Int64}
可以解决问题,但我不想将使用限制到那么远。
关于如何做到这一点的任何想法?任何代码审查也将不胜感激。我认为这段代码不是很“朱利安”(那是一回事吗?),并且会喜欢指针以使其对其他人更有用。