【发布时间】:2010-08-18 02:08:07
【问题描述】:
我有这样的功能:
def print(name:String, surname:String) { println(name + " " + surname) }
我也有一个 Tuple2:
val johnsmith = ("John", "Smith")
当我使用 johnsmith 调用 print 时,出现以下错误:
scala> print(johnsmith)
error: not enough arguments for method print: (name: String,surname: String)Unit.
Unspecified value parameter surname.
print(johnsmith)
^
有没有办法解决这个问题?我可以通过让 print 接受 Tuple2 来实现它:
def print2(t:Tuple2[String,String]) { println(t._1 + " " + t._2) }
现在我可以任意调用它了:
scala> print2(johnsmith)
John Smith
scala> print2("john", "smith")
john smith
我有什么遗漏吗?
【问题讨论】: