学了这么长时间的julia,前面的内容都好说,但是现在度julia的元组理解有点困难,主要是不知道元组的具体应用场景,有谁能举一个julia元组使用的具体事例吗?
简单来说:元组的性能比数组要高的多。恰当的使用元组是一个零开销的东西。
举一个例子:当你进行函数调用或者处理返回值的时候,Julia 内部的数据都是以元组的形式提供给你的。
位置参数以 Tuple 进行打包:
julia> f(args...) = args
f (generic function with 1 method)
julia> args = f(1, 2, 3)
(1, 2, 3)
关键词参数以 NamedTuple 进行打包:
julia> g(; kwargs...) = kwargs
g (generic function with 1 method)
julia> kwargs = g(x=1, y=2)
pairs(::NamedTuple) with 2 entries:
:x => 1
:y => 2
julia> typeof(kwargs)
Base.Pairs{Symbol, Int64, Tuple{Symbol, Symbol}, NamedTuple{(:x, :y), Tuple{Int64, Int64}}}
julia> values(kwargs)
(x = 1, y = 2)
julia> typeof(values(kwargs))
NamedTuple{(:x, :y), Tuple{Int64, Int64}}
1 个赞