6

scalaパッケージ オブジェクトと で定義されているものの違いは何Predefですか?

パッケージオブジェクトが存在しなかった2.8より前の遺物ですかPredef、それとも両方が必要な理由が他にありますか?

4

1 に答える 1

4

ScalaDocによると、

Predefオブジェクトは、明示的な修飾なしですべての Scala コンパイル ユニットでアクセス可能な定義を提供します」

したがって、それ自体はパッケージ オブジェクトではありませんが、「すべての Scala コンパイル ユニット」に機能を提供するという点で 1 つとして機能します。

状況が存在する理由については、あなたが正しいと思います。レガシーの問題のようです

それが持続する理由については、PreDef のマージを妨げるパッケージ オブジェクトの制限が引き続き存在する可能性があります。

于 2012-04-13T18:59:57.627 に答える