为什么不doSmth(() => s)
编译?为什么其余代码输出“值”?有没有办法调用第二个函数(使用名称调用参数)?
object Test {
def main (args: Array[String]){
lazy val s: String = ""
doSmth(s)
doSmth("")
doSmth(() => s)
}
def doSmth(p: String): Unit = {
println("value!")
}
def doSmth(p: => String): Unit = {
println("call by name!")
}
}