Вот короткий код:Scala: применение зрения
import scala.language.implicitConversions
implicit def str2int(str:String) = str.toInt
object Container {
def addIt[A](x: A)(implicit str2int: A => Int) = 123 + x
def addIt2(x: String)(implicit str2int: String => Int) = 123 + x
}
println(Container.addIt("123"));
println(Container.addIt2("123"));
Два вопроса:
- является "(неявный str2int: A => Int)" называется вид? Когда вы говорите «представление», которое указывает конкретная часть кода?
- Почему addIt возвращает 246, в то время как addIt2 возвращает строку «123123»?
Любой хороший ресурс на эту тему также был бы признателен. Спасибо.