このコードでエラーが発生するのはなぜですか
def test[A](a: List[A], f: A => A) = a.map(f)
println(test(List(1,2,3), _*2))
error: missing parameter type for expanded function ((x$2) => x$2.$times(2))
ScalaはAがIntであることを認識できないのでしょうか?
このコードでエラーが発生するのはなぜですか
def test[A](a: List[A], f: A => A) = a.map(f)
println(test(List(1,2,3), _*2))
error: missing parameter type for expanded function ((x$2) => x$2.$times(2))
ScalaはAがIntであることを認識できないのでしょうか?
これを機能させるには、2番目のパラメータリストが必要です。これが仕様でどのように定義されているかはわかりませんが、以前に見たことがあります。
scala> def test[A](a: List[A])(f: A => A) = a.map(f)
test: [A](a: List[A])(f: (A) => A)List[A]
scala> test(List(1))(_+1)
res1: List[Int] = List(2)
これは例であり、何も変更せずにケースで機能させる方法です。
scala> println(test(List(1,2,3), (i: Int) => i * 2 ))
Scalaの型推論は限られているので、助けてください!