当我运行时
t = (one = "one", two = 2)
typeof(t)
在 REPL 中,我得到
NamedTuple{(:one, :two),Tuple{String,Int64}}
但是当我跑步时
t = (one = "one")
typeof(t)
我String
为类型。
是否可以设置一个只有一个命名值的命名元组,以便我可以访问例如 t[1] 和 t.one 并返回"一"?
放一个逗号,即
julia> t = (one = "one",)
(one = "one",)
julia> typeof(t)
NamedTuple{(:one,),Tuple{String}}
t = (one = "one")
不起作用的原因是因为等同于t = one = "one"
。因此,您正在定义两个变量,这两个变量的值均为"一"。
julia> t = (one = "one")
"one"
julia> typeof(t)
String
julia> typeof(one)
String