object Helpers{ implicit class IntWithTimes(x:Int){ //用implicit class说明了IntWithTimes类是一个隐式类,它表示:一个Int整数自动具备times方法 def times[A](f: => A):Unit = { def loop(current:Int):Unit = { if(current > 0) { f loop(current - 1) } } loop(x) } } } object ImplicitclassTest { def main(args: Array[String]): Unit = { import Helpers._ val i = 3 i.times(println(i)) //编译器会自动将这个函数println(i)转换成times中的参数:f:=>A,也就是说会将println(i)这句连续执行三次 i.times(()=>{ //这种形式的函数参数为何不能正常println三次呢? println("test") }) } }