位元詩人 [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) 認為開發應用程式的目的是為社會帶來價值。如果在這個過程中該軟體能成為永續經營的項目,那就是開發者和使用者雙贏的局面。

位元詩人喜歡用開源技術來解決各式各樣的問題,但必要時對專有技術也不排斥。閒暇之餘,位元詩人將所學寫成文章,放在這個網站上和大家分享。