Dict和Base.Iterators.Pairs在Julia之间的区别

时间:2018-08-23 21:54:32

标签: dictionary types julia keyword-argument

在Julia v1.0中,当使用关键字参数时,函数中的结果结构将为Base.Iterators.Pairs类型。

julia> foo(;kwargs...) = println(kwargs)
julia> foo(a = 1, b = 2)
Base.Iterators.Pairs(:a=>1,:b=>2)

Iterators.Pairs与常规Dictionary之间有什么区别?为什么我们使用这种特定类型?

1 个答案:

答案 0 :(得分:2)

在Julia 0.7 / 1.0中,关键字参数已更改为存储为命名元组而不是字典。 Pairs类型只是包装器,因此迭代为您提供键,值对(在命名的元组上进行迭代只会提供值,就像在元组上进行迭代一样)。