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)
か??