在 GitHub 上編輯此頁面

命名類型參數

注意:此功能已在 Scala 3 中實作,但預期不會成為 Scala 3.0 的一部分。

方法的類型參數現在可以用名稱和位置指定。範例

def construct[Elem, Coll[_]](xs: Elem*): Coll[Elem] = ???

val xs1 = construct[Coll = List, Elem = Int](1, 2, 3)
val xs2 = construct[Coll = List](1, 2, 3)

類似於命名值參數 (x = e),命名類型參數 [X = T] 將類型參數 X 實例化為類型 T。命名類型參數不必按順序(請參閱上方的 xs1),而未指定的參數會由編譯器推斷(請參閱上方的 xs2)。類型參數必須全部命名或未命名,不支援混合命名和位置類型參數。

動機

命名類型參數的主要好處是,與位置參數不同,您可以省略傳遞某些參數的參數,例如在上述 xs2 的定義中。遺失的類型參數會透過區域類型推斷照常推斷。這在某些類型參數可以輕鬆從其他參數推斷的情況下特別有用。

更多詳細資訊

在本文中