【发布时间】:2013-11-26 07:32:33
【问题描述】:
我构建了以下类:
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)
谢谢!
【问题讨论】:
标签: scala functional-programming purely-functional