я следующий класс построен:Обновления неизменных объектов
class Player(val name: String, val onField: Boolean, val draft: Int, val perc: Int, val height: Int, val timePlayed: Int) {
override def toString: String = name
}
Я пытаюсь сделать
def play(team: List[Player]): List[Player] =
team map (p => new Player(p.name, p.onField, p.draft, p.perc, p.height, p.timePlayed + 1))
который фактически увеличивающееся поле "timePlayed" один, и вернуть новый «Список» игроков.
Есть ли более удобный способ сделать это? Возможно:
def play(team: List[Player]): List[Player] =
team map (p => p.timeIncremented())
Мой вопрос заключается в том, как реализовать timeIncremented() более удобным способом? так что мне не нужно:
new Player(p.name, p.onField, p.draft, p.perc, p.height, p.timePlayed + 1)
Спасибо!