Как в Scala я могу определить локальную переменную в основном конструкторе?Локальная переменная Scala внутри основного конструктора
Мне нужно решить это упражнение из Scala for the impatient
книги:
Написать класс Person с первичным конструктором, который принимает строку , содержащую имя во-первых, пробел и фамилию, например, новый Человек («Фред Смит»). Поставлять свойства только для чтения firstName и lastName. Должен ли параметр первичного конструктора быть var, a val или простой параметр? Зачем?
И теперь мое решение выглядит следующим образом:
class Person(firstLast: String) {
private[this] val firstLastAsArr = firstLast.trim.split(" ")
val firstName = firstLastAsArr (0)
val lastName = firstLastAsArr (1)
}
Как я могу ограничить firstLastAsArr
переменную видимость основного объема конструктора (теперь есть класс сфера)?
возможно дубликат [Как вы определяете локальный уаг/Вэл в основной конструктор в Scala?] (http://stackoverflow.com/ вопросы/1118669/how-do-you-define-a-local-var-val-in-the-primary-constructor-in-scala) –