从元组参数设置元素参数的默认值

时间:2019-05-14 14:32:27

标签: scala function default

def found( names(String, String) ): Unit {
  // Do something
}

找到的函数的参数列表是一个字符串元组(字符串,字符串)

如何将第二个tuple元素的默认值设置为第一个类似names(String, String=names._1)的元素,或者甚至允许这样做?如果是这样,我该如何传递论点? found( ("FirstName", ???) )found("FirstName")

1 个答案:

答案 0 :(得分:6)

如果您有一个元组(String, String),那么您将拥有两个字符串。如果您没有两个字符串,那么这不是一个元组。整个参数可以具有默认值,而部分元组则不能。如果默认值使用其他参数,则参数应位于不同的参数列表中。

尝试

def found(name1: String)(name2: String = name1): Unit = ???

found("FirstName")()
found("FirstName")("LastName")

def foundTuple(names: (String, String)): Unit = found(names._1)(names._2)

foundTuple(("FirstName", "LastName"))
foundTuple("FirstName", "LastName")