0

ファイルから行を読み取る 'foreach' でカリー化された関数を使用しようとしています:

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)

任意の出力を生成します。なんで?

4

1 に答える 1