元组简介
Tuples 是任意不同对象的不可变有序集合,可以是相同类型,也可以是不同类型 。通常,使用 (x, y) 语法构造元组。
julia> tup = (1, 1.0, "Hello, World!")
(1,1.0,"Hello, World!")
可以使用索引语法检索元组的各个对象:
julia> tup[1]
1
julia> tup[2]
1.0
julia> tup[3]
"Hello, World!"
它们实现了可迭代接口 ,因此可以使用 for 循环进行迭代 :
julia> for item in tup
println(item)
end
1
1.0
Hello, World!
元组还支持各种通用集合函数,例如 reverse 或 length:
julia> reverse(tup)
("Hello, World!",1.0,1)
julia> length(tup)
3
此外,元组支持各种高阶集合操作,包括 any,all, map或 broadcast:
julia> map(typeof, tup)
(Int64,Float64,String)
julia> all(x -> x < 2, (1, 2, 3))
false
julia> all(x -> x < 4, (1, 2, 3))
true
julia> any(x -> x < 2, (1, 2, 3))
true
可以使用 () 构建空元组:
julia> ()
()
julia> isempty(ans)
true
但是,要构造一个元素的元组,需要使用尾随逗号。这是因为括号(( 和 ))否则将被视为分组操作而不是构造元组。
julia> (1)
1
julia> (1,)
(1,)
为了保持一致性,对于具有多个元素的元组,也允许使用尾随逗号。
julia> (1, 2, 3,)
(1,2,3)