tuple 是一個重要的東西,我們未來會詳加介紹。這裡簡單說明,tuple 使用簡單的小括號將各個值放在一起,是一種非常有用的資料結構。
A. 一個資料的tuple,如 (1) *附註
B. 兩個資料的tuple,如 (1, "A")
C. (1, 2, "A", 5.0) 是一個 4 值的 tuple。
tuple 可用來放多個值,但 tuple-0 表示什麼?
tuple-0 只可有一個值,就是空的 tuple,即 ()。
這個 tuple-0 的型態在 Scala 把它特別表明出來,稱為 Unit 型態。Unit型態,只有一個instance,稱為 unit value,即 ()。
為何需要特別標明出來呢?原因是要用他來表明特別的東西。
之前提到,所有的 statement 都需要有 result 值,這包含 method,但若是 method 真的沒有 return 值呢?這時就把它表明為 return 回「空資料的 tuple」,這就是 Unit。
因此如果 method 沒有 return 值,在 Scala 的意義就是該 method 的 return type為 Unit,return 值為()。
因此如果 method 沒有 return 值,在 Scala 的意義就是該 method 的 return type為 Unit,return 值為()。
當 Java 與 Scala 混用時, Java 中 void 型態的 method,在 Scala 會變成該 method return type 為 Unit。
附註:因為一個資料的 tuple,小括號會被解釋運算,所以 (1) 會被視為 1 這個 Int,而非 Tuple (Int),若確定要使用一個值的 Tuple,需要使用 Tuple1(1)
沒有留言:
張貼留言