0

コードスニペット:

object WTF extends App {
    test
    val mymap = Map("Alice" -> 1, "Bob" -> 2, "Charlie" -> 3, "Dave" -> 4)
    println("outter mymap="+mymap)
    def test { println("inner mymap="+mymap) }
}

次の出力を生成します。

inner mymap=null
outter mymap=Map(Alice -> 1, Bob -> 2, Charlie -> 3, Dave -> 4)
  1. なぜアウターの前にインナーがプリントされるのですか?

  2. nullマイマップをテスト印刷するのはなぜですか?

  3. DelayedInitは2.9.2で壊れていますか?「extendsApp」を削除して独自のメインメソッドを作成する以外に、内部mymapを初期化する方法はありますか?

4

1 に答える 1

-1

問題が解決しました:

object WTF extends App {
    val mymap = Map("Alice" -> 1, "Bob" -> 2, "Charlie" -> 3, "Dave" -> 4)
    println("outter mymap="+mymap)
    test
    def test { println("inner mymap="+mymap) }
}
于 2012-11-23T23:34:29.213 に答える