Установите значение по умолчанию для параметра элемента из аргумента кортежа - PullRequest
0 голосов
/ 14 мая 2019
def found( names(String, String) ): Unit {
  // Do something
}

Список параметров найденной функции представляет собой строковый кортеж (string, string)

Как установить значение по умолчанию для второго элемента кортежа в качестве первого, например names(String, String=names._1) Илиэто даже разрешено?если так, как я могу передать аргумент?found( ("FirstName", ???) ) или found("FirstName")

1 Ответ

6 голосов
/ 14 мая 2019

Если у вас есть кортеж (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")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...