вот мой код:Scala: Почему l1 ::: l2 не равен l1.:::(l2)?
val l1 = List(1,2,3)
val l2 = List(4,5,6)
val l1l2_1 = l1 ::: l2
val l1l2_2 = l1.:::(l2)
val l1l2_3 = l2.:::(l1)
println(s"l1 = $l1 \nl2 = $l2 \nl1 ::: l2 = $l1l2_1 \nl1.:::(l2) = $l1l2_2 \nl2.:::(l1) = $l1l2_3 }")
и вот результат:
l1 = List(1, 2, 3)
l2 = List(4, 5, 6)
l1 ::: l2 = List(1, 2, 3, 4, 5, 6)
l1.:::(l2) = List(4, 5, 6, 1, 2, 3)
l2.:::(l1) = List(1, 2, 3, 4, 5, 6) }
Почему l1 ::: l2 не равна с l1.:::(l2)?
С помощью '.' вы меняете, к какому« списку »применяется конкатенация. – millhouse
Возможный дубликат http://stackoverflow.com/questions/15384744/how-to-make-a-right-associative-infix-operator –