私の知る限り、特性List
はSeq
言語自体の一部ではなく、Scala 標準ライブラリに実装されています。
ただし、私が理解できないことが 1 つあります。次のような可変引数関数の構文があります。
def foo(args: String*) = ...
内部的には にアクセスできargs
、Seq
.
次のことは明確ではありません。
Seq
言語の一部として現れるのに十分な特別なデータ構造と見なされる、または- ここでの
*
表記は、具体的なデータ構造インターフェイスへの参照を回避するための、より一般的な構文の特定のケースです。
どちらが正しい解釈かわかる方いらっしゃいますか?