scala
パッケージ オブジェクトと で定義されているものの違いは何Predef
ですか?
パッケージオブジェクトが存在しなかった2.8より前の遺物ですかPredef
、それとも両方が必要な理由が他にありますか?
ScalaDocによると、
「
Predef
オブジェクトは、明示的な修飾なしですべての Scala コンパイル ユニットでアクセス可能な定義を提供します」
したがって、それ自体はパッケージ オブジェクトではありませんが、「すべての Scala コンパイル ユニット」に機能を提供するという点で 1 つとして機能します。
状況が存在する理由については、あなたが正しいと思います。レガシーの問題のようです
それが持続する理由については、PreDef のマージを妨げるパッケージ オブジェクトの制限が引き続き存在する可能性があります。