Đây là một mã ngắn:Scala: áp dụng xem
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"));
Hai câu hỏi:
- là "(implicit str2int: A => Int)" gọi là một cái nhìn? Khi bạn nói "chế độ xem", phần nào của mã cụ thể cho biết?
- Tại sao addIt trả về 246 trong khi addIt2 trả về một chuỗi "123123"?
Bất kỳ tài nguyên nào tốt về chủ đề này cũng sẽ được đánh giá cao. Cảm ơn bạn.