Lo que sigue es un proceso manual¿Forma de convertir automáticamente el método de clase para funcionar tomando un argumento de clase explícito en Scala?
case class A(x: Int) { def f(y: Int) = x * y }
val af: (A => Int => Int) = _.f
val a = A(4)
val r = af(a)(2)
¿Hay alguna manera con inmejorables posibilidades para conseguir una función como af
? Algo así como A magic f
, posiblemente sin usar la reflexión. La capacidad de importar todos los métodos públicos de una clase a través de import A#magic._
es una ventaja.