位元詩人 [Nim] 語言程式教學:元組 (Tuple)

Facebook Twitter LinkedIn LINE Skype EverNote GMail Yahoo Email

元組 (tuple) 的用途在於可在同一個複合型別中放入不同型別的元素。如下例:

type
  Person = tuple[name: string, age: uint]

var p: Person = (name: "Michelle", age: 36U)
assert(p.name == "Michelle")
assert(p.age == 36U)

在本例中,我們建立一個 Person 型別,該型別由 nameage 兩個元素組成。

我們在定義變數時,可忽略元素的名稱。如下例:

type
  Person = tuple[name: string, age: uint]

var p: Person = ("Michelle", 36U)
assert(p.name == "Michelle")
assert(p.age == 36U)

但程式碼的可讀性會略差,較不建議。

我們也可以建立一個匿名元組,如下例:

var p: tuple[name: string, age: uint] = ("Michelle", 36U)
assert(p.name == "Michelle")
assert(p.age == 36U)

我們還可以將元組解構 (destructuring),快速取出變數內容,如下例:

from os import splitFile

let path = "/home/user/file.txt"
let (dir, name, ext) = splitFile(path)

assert(dir == "/home/user")
assert(name == "file")
assert(ext == ".txt")
關於作者

位元詩人 (ByteBard) 是資訊領域碩士,喜歡用開源技術來解決各式各樣的問題。這類技術跨平台、重用性高、技術生命長。

除了開源技術以外,位元詩人喜歡日本料理和黑咖啡,會一些日文,有時會自助旅行。