位元詩人 [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) 是資訊領域碩士,專注於從探索到產品的開發過程,並以工具驅動的方式改善專案。喜歡以開源專案作為成果,回饋社群。

主要方向包括:自用工具的打磨 (dogfooding)、編譯器技術在工具開發中的應用,以及將研究轉化為可維護的開源成果。

除了技術之外,也喜歡日本料理和黑咖啡,偶爾自助旅行,將生活中的靈感融入技術隨筆。