[英]Scala: reading lines from file with curried function in 'foreach'?
从文件读取行我尝试在'foreach'中使用curried函数:
import scala.io.Source
object CurriedTest {
def main(args: Array[String]): Unit = {
fun("one")("two")("three")
(fun2)("three")
val lst = List ("x", "y", "z")
lst.foreach(fun2)
lst.foreach(fun("000")("111") )
Source.fromFile(args(0)).getLines.foreach(fun("AAA")("BBB") _)
Source.fromFile(args(0)).getLines.foreach(fun2)
}
def fun (a1: String) (a2:String) (a3: String) = {
println("a1: "+a1+" a2: "+a2+" a3: "+a3)
}
def fun2 = fun("one")("two") _
}
由于某些原因,以下两个语句均不起作用:
Source.fromFile(args(0)).getLines.foreach(fun("AAA")("BBB") _)
Source.fromFile(args(0)).getLines.foreach(fun2)
产生任何输出。 为什么?
我找到了答案。 我正在读取一个空文件,自然会产生一个空输出。 对困惑感到抱歉。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.