1

Scala では、要素を不変リストに追加する方法は次のとおりです。

    val l = 1 :: 2 :: Nil
    l: List[Int] = List(1, 2)

これが意味することは、最初に Nil (Empty) List を作成し、それに 2 を追加してから 1 を追加することです。つまり、これらの操作は右結合です。したがって、事実上、次のように、より明確な方法で書き直すことができます。

    val l = (1 :: (2 :: Nil))
    l: List[Int] = List(1, 2)

問題は、リストが挿入の順序を保持することになっていて、最初に空のリストに 2 が追加され、次に 1 が追加された場合、なぜ答えがそうでないのですl: List[Int] = List(2, 1)か??

4

2 に答える 2