【发布时间】:2012-11-22 19:01:36
【问题描述】:
想知道您是否可以评论为什么以下两种情况的行为不同:
以下作品:
var la= List(12, 13 , 14 ,15);
var func = (x:Int) => println(x)
la.foreach(func) // 1
la.foreach(func(_)) // 2
但以下不是:
var la= List(12, 13 , 14 ,15);
var func1 = (x:Int) => {
for (i <- 0 to x) yield i*2
} mkString
la.foreach(println(func1)) // similar to 1 above
la.foreach(println(func1(_))) // similar to 2 above
错误:类型不匹配; 发现:单位 必需: Int => ? la.foreach(println(func1(_)))
【问题讨论】:
-
最严格的非退化范围:在stackoverflow.com/a/5259946/562716查看我的评论
标签: scala functional-programming partial-application