元組簡介

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!

元組還支援各種通用集合函式,例如 reverselength

julia> reverse(tup)
("Hello, World!",1.0,1)

julia> length(tup)
3

此外,元組支援各種高階集合操作,包括 anyallmapbroadcast

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)