使用Scala ObservableSet Trait的示例
发布时间:2020-12-16 18:19:28 所属栏目:安全 来源:网络整理
导读:谁能帮我告诉我如何使用 scala的 ObservableSet特性? 非常感谢你提前 解决方法 所有打字信息都让人觉得有点眼花缭乱,但这就是我能够让它发挥作用的方式.我欢迎有关如何使打字更简洁的建议.各种编辑,包括类型别名: import collection.mutable._import colle
谁能帮我告诉我如何使用
scala的
ObservableSet特性?
非常感谢你提前 解决方法
所有打字信息都让人觉得有点眼花缭乱,但这就是我能够让它发挥作用的方式.我欢迎有关如何使打字更简洁的建议.各种编辑,包括类型别名:
import collection.mutable._ import collection.script._ val set = new HashSet[String] with ObservableSet[String] { } type Msg = Message[String] with Undoable type Sub = Subscriber[Msg,ObservableSet[String]] val sub = new Sub() { def notify(pub: ObservableSet[String],event: Msg): Unit = { println("%s sent %s".format(pub,event)) event match { case r:Remove[_] => println("undo!"); event.undo() case _ => } } } set.subscribe(sub) set += "foo" set += "bar" set -= "bar" 打印: Set(foo) sent Include(NoLo,foo) Set(bar,foo) sent Include(NoLo,bar) Set(foo) sent Remove(NoLo,bar) undo! Set(bar,bar) 有趣的是,撤消导致另一条消息被发布…… (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |