2014-10-31 59 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

相关问题