Wenn ich versuche, eine Array
mit einer Liste Verständnis zu schaffen, kommt es zu einem Array{Any, 1}
auch wenn ich alle Elemente „Symbol“ kodieren:Warum gibt dieses Listenverständnis ein Array {Any, 1} statt eines Array {Symbol, 1} zurück?
julia> u_col_names=[symbol("user_id"), symbol("age"), symbol("sex"), symbol("occupation"), symbol("zip_code")]
5-element Array{Symbol,1}:
:user_id
:age
:sex
:occupation
:zip_code
julia> col_names=["user_id", "age", "sex", "occupation", "zip_code"]
5-element Array{ASCIIString,1}:
"user_id"
"age"
"sex"
"occupation"
"zip_code"
julia> u_col_names=[symbol(col_names[i]) for i in 1:size(col_names)[1]]
5-element Array{Any,1}:
:user_id
:age
:sex
:occupation
:zip_code
Warum letzte Liste Verständnis ist, dass anstelle eines eine Array{Any, 1}
zurückkehren Array{Symbol, 1}
? Beachten Sie, dass die folgende tut Rückkehr eine Array{Symbol, 1}
:
julia> u_col_names=[symbol("col_names$i") for i in 1:size(col_names)[1]]
5-element Array{Symbol,1}:
:col_names1
:col_names2
:col_names3
:col_names4
:col_names5
Interessanterweise tut dies folgendes:
julia> col_names[1]
"user_id"
julia> symbol(col_names[1])
:user_id
julia> [symbol(col_names[1]), symbol(col_names[2])]
2-element Array{Symbol,1}:
:user_id
:age
Was bin ich?
das allgemeine Prinzip ist, dass innerhalb von Funktionen, die comp Ich weiß "alles": die Arten der Eingaben und die Transformationen, die angewendet werden. Folglich kann es sich aggressiver spezialisieren. – tholy
@tholy Danke für Ihren Kommentar. Kannst du dir eine empfohlene Lektüre darüber denken? – Jubobs