Параметр "regex" для параметра выглядит примерно так: name: type (= defaultValue)
- Обратите внимание, что значение по умолчанию составляет необязательно .
Таким образом firstName: Option[String] = None
означает, что параметр имеет имя firstName и имеет тип Option [String] , а его значение по умолчанию равно None (также помните, что тип Option используется для объяснения того, что значение может существовать или нет. И что Нет означает, что оно не существует) .
И то, и другое правильно, в данном случае это Класс может использоваться как:
Test(lastName = None)
// res: Test = Test(None,None) - A person without names.
Test(lastName = Some("Mejia"))
// res: Test = Test(None,Some(Mejia)) - A person with just its last name, which it is "Mejia".
Test(firstName = Some("Luis"), lastName = Some("Mejia"))
// res: Test = Test(Some(Luis),Some(Mejia)) - A person whose first name is "Luis" and its last name is "Mejia".
Test(firstName = Some("Luis"), lastName = None)
// res: Test = Test(Some(Luis),None) - A person with just its first name, which it is "Luis".
Обратите внимание, что мне всегда нужно указывать его фамилию, потому что он не имеет значения по умолчанию.