繁体   English   中英

Scala:在“ foreach”中使用咖喱函数从文件中读取行?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM