我有以下的彗星服务器: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