나는 (지금 시작된 방금) Julia에 완전히 익숙하다. 어리석은 질문이라도 용서해 주시지 만, 언어를 사랑함에도 불구하고 나는 많은 것을 발견하지 못했다. 훌륭한 디버깅 도움이됩니다.왜 내 형식 생성자가 인식되지 않는가
기본적으로 모든 유형의 Integer (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
을하지만 난 그것을 사용하려고 할 때 :
ERROR: no method MyType(Array{Int64, 1})
전환 :
test = MyType([1,2,1])
나는 오류 Array{Integer}
에서 Array{Int64}
까지의 대체 생성자는 proble을 해결합니다. m 것으로 가정하지만, 그 사용법을 멀리 제한하고 싶지는 않습니다.
어떻게하는지에 대한 아이디어가 있으십니까? 어떤 코드 검토도 크게 감사 할 것입니다. 필자는이 코드가 "율리우스"가 아니라고 가정하며, 다른 사람들이이 코드를 더 유용하게 사용할 수 있도록 포인터를 사용합니다.
즉, invariance : https://groups.google.com/forum/#!topic/julia-dev/slxzNLXJdlY. 다른 누군가가 나를 때리지 않았다면, 나는 이것을 내일 답변으로 쓸 수 있습니다. – StefanKarpinski