元組簡介
Tuple
s 是任意不同物件的不可變有序集合,可以是相同型別,也可以是不同型別 。通常,使用 (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)