scala Appの特性を使用すると、printlnが機能しなくなります。予想通りScala printlnがApp Traitで機能しない
この単純な例版画、
object HelloWorld {
def main(args: Array[String]) {
println("Hello, world!")
}
}
しかし、私はそれがない形質を導入した後、
object HelloWorld extends App {
println("Hello, world!")
}
は、私は、コンソールにエラーがなく、何も印刷何を取得していません。
奇妙な。それは通訳の奇妙な制限のようです。クラスをコンパイルして動作させる必要がある理由は何ですか?形質は通訳では機能しませんか? –
特徴はインタプリタで機能しますが、Appは特殊なケースです。多くの場合、「アプリケーションはメインオブジェクトの実装オブジェクト内にコードをラップします」と表示されますが、それは実際にはそうではありません - むしろ、そのメソッドをdelayInitという名前にします。オブジェクトが作成されます。これは通常、オブジェクト宣言内のベアコードが呼び出されるときです。 –
ああ、意味がある、説明のおかげで。 –