用法:
NamedTuple顾名思义,NamedTuple 被命名为   。也就是说,它们是一个 tuple-like 值集合,其中每个条目都有一个唯一的名称,表示为 Tuple   。与 Symbol Tuple 一样,NamedTuple 是不可变的;名称和值都不能在构造后就地修改。
可以使用字段访问语法来访问与命名元组中的名称关联的值,例如x.a ,或使用   ,例如getindex x[:a] 或 x[(:a, :b)] 。名称的元组可以使用   获得,值的元组可以使用 keys   获得。values 
注意
对 NamedTuple 的迭代会生成不带名称的 values。 (参见下面的示例。)要迭代 name-value 对,请使用   函数。pairs 
  宏可用于方便地声明@NamedTuple NamedTuple 类型。
例子
julia> x = (a=1, b=2)
(a = 1, b = 2)
julia> x.a
1
julia> x[:a]
1
julia> x[(:a,)]
(a = 1,)
julia> keys(x)
(:a, :b)
julia> values(x)
(1, 2)
julia> collect(x)
2-element Vector{Int64}:
 1
 2
julia> collect(pairs(x))
2-element Vector{Pair{Symbol, Int64}}:
 :a => 1
 :b => 2与如何以编程方式定义关键字参数的方式类似,可以通过给出一对 name::Symbol => value 或在元组文字内的分号后生成这样的对的迭代器来创建命名元组:
julia> (; :a => 1)
(a = 1,)
julia> keys = (:a, :b, :c); values = (1, 2, 3);
julia> (; zip(keys, values)...)
(a = 1, b = 2, c = 3)与关键字参数一样,标识符和点表达式隐含名称:
julia> x = 0
0
julia> t = (; x)
(x = 0,)
julia> (; t.x)
(x = 0,)Julia 1.5
从 Julia 1.5 开始,标识符和点表达式中的隐式名称可用。
Julia 1.7
从 Julia 1.7 开始,可以使用带有多个 Symbol 的 getindex 方法。
相关用法
- Julia Core.NTuple用法及代码示例
- Julia Core.ifelse用法及代码示例
- Julia Core.isa用法及代码示例
- Julia Core.typeof用法及代码示例
- Julia Core.UnionAll用法及代码示例
- Julia Core.nfields用法及代码示例
- Julia Core.Function用法及代码示例
- Julia Core.DomainError用法及代码示例
- Julia Core.undef用法及代码示例
- Julia Core.UndefVarError用法及代码示例
- Julia Core.isdefined用法及代码示例
- Julia Core.invoke用法及代码示例
- Julia Core.Array方法用法及代码示例
- Julia Core.getfield用法及代码示例
- Julia Core.ErrorException用法及代码示例
- Julia Core.Vararg用法及代码示例
- Julia Core.@big_str用法及代码示例
- Julia Core.Type用法及代码示例
- Julia Core.Task用法及代码示例
- Julia Core.Union用法及代码示例
- Julia Core.AssertionError用法及代码示例
- Julia Core.Ref用法及代码示例
- Julia Core.BoundsError用法及代码示例
- Julia Core.Float64方法用法及代码示例
- Julia Core.InexactError用法及代码示例
注:本文由纯净天空筛选整理自julialang.org 大神的英文原创作品 Core.NamedTuple — Type。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
