6
この質問に答えようとしているとき:Leave off underscore in function literal例をコード化しようとしましたが、私は奇妙な動作に直面しました。Scala::::
scala> val myList = 1::2::Nil
myList: List[Int] = List(1, 2)
scala> def concat:(List[Int]=> List[Int]) = myList:::
concat: (List[Int]) => List[Int]
scala> concat(3::Nil)
res1: List[Int] = List(3, 1, 2)
私は_
またはx=> f(x)
構文を使用するとき、私は良い答えを持っていますが。
scala> def concat0:(List[Int]=> List[Int]) = x=> myList:::x
concat0: (List[Int]) => List[Int]
scala> def concat1:(List[Int]=> List[Int]) = myList::: _
concat1: (List[Int]) => List[Int]
scala> concat0(3::Nil)
res2: List[Int] = List(1, 2, 3)
scala> concat1(3::Nil)
res3: List[Int] = List(1, 2, 3)
myList
が機能concat
に3::Nil
後に来る理由を合理的な説明はありますか?
本当に詳細で明確な投稿をありがとう。 –