3
I vectorをそのノルムと共に保存したいとします。意図したとおりに型定義内のパラメータ型の関数
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
パラメータを乱用しないようにします。これは正しいです?
PS:これは、この問題を説明する単なる例です。私が直面している実際の問題ではありません。 (私はJuliaConでジェフBezansonとの問題を議論しましたが、彼はそれを固定に適し見えた)タイプのパラメータ現在上
「シンボル」として保存するのはどうですか? –
詳しいことはありますか? – gTcV
これは、[関数を標準として適用できるかどうか](http://docs.julialang.org/ja/latest/stdlib/base/#Base.applicable)の実行時チェックを__constructor__ですが、型にはそれを課すことはできません –