我有以下的彗星服務器:Scala的名單覆蓋重複值
object UserServer extends LiftActor with ListenerManager {
private var users: List[UserItem] = Nil
def createUpdate = users
override def lowPriority = {
case UserItem(user, room, active, stamp) => {
users :+= UserItem(user, room, active, stamp);
updateListeners()
}
}
}
目前每次的形式提交了新的UserItem被添加到用戶列表中。我想要做的每個服務器接收而不將它應使用相同的用戶和房間手柄覆蓋現有的項目列表中的新用戶,時間。
因此,如果該列表包含以下內容:下一次,這些用戶提交列表中的上述兩個項目將與新的時間戳值被替換的形式
UserItem("jam_2323", "demo-room", "James", "1320073365")
UserItem("jim_4533", "demo-room", "Jim", "1320073365")
:
UserItem("jam_2323", "demo-room", "James", "1320073435")
UserItem("jim_4533", "demo-room", "Jim", "1320073435")
提前任何幫助,謝謝,非常感謝:)
作爲一個側面說明,而不是提取和重建'UserItem',你可以簡單地在它匹配的對象。你也應該預先添加到'List'中,或者使用'Vector';附加到列表表現非常差。 'u:UserItem => users :: = u'。 – leedm777