2014-10-31 95 views
0

我試圖用「的foreach」迭代方法收集時使用咖喱功能:Scala:foreach中的curried函數?

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("one"),("two") _) 

    } 

    def fun (a1: String) (a2:String) (a3: String) = { 
    println("a1: "+a1+" a2: "+a2+" a3: "+a3) 
    } 

    def fun2 = fun("one")("two") _ 
} 

爲什麼線「lst.foreach(樂趣(‘1’),(‘二’)_)」不會編譯並返回:

- too many arguments for method foreach: (f: String => B)Unit 

錯誤消息?

回答

4

從該行刪除逗號

lst.foreach(fun("one"),("two") _) 
+0

謝謝! ))))))) – DarqMoth 2014-10-31 10:45:09

相關問題