I 벡터를 표준과 함께 저장하려고한다고 가정합니다. 의도 한대로형식 정의의 매개 변수 형식의 기능
immutable VectorWithNorm1{Vec <: AbstractVector}
vec::Vec
norm::eltype(Vec)
end
그러나,이 작동하지 않습니다 :
julia> fieldtype(VectorWithNorm1{Vector{Float64}},:norm)
Any
내가
immutable VectorWithNorm2{Vec <: AbstractVector, Eltype}
vec::Vec
norm::Eltype
end
을해야하고 의존하는 것 같다 나는 해당 유형의 정의는 간단 될 것으로 예상 사용자가 Eltype
매개 변수를 악용하지 않아야합니다. 이 올바른지?
추신 : 이것은 문제를 설명하기 위해 작성된 예제입니다. 내가 직면하고있는 것은 실제 문제가 아닙니다. (나는 JuliaCon에서 제프 Bezanson와 문제를 논의 했더라도, 그는 그것을 고정 의무가 보였다) 유형 매개 변수 현재에
'심볼'로 저장하는 것이 어떻습니까? –
설명해 주시겠습니까? – gTcV
그 기능은 [기능을 표준으로 적용 할 수 있는지 여부] (http://docs.julialang.org/en/latest/stdlib/base/#Base.applicable)의 런타임 검사를 __constructor__하지만 타입에 넣을 수는 없습니다. –