scala – 有没有“懒惰地图”?
发布时间:2020-12-16 09:12:42 所属栏目:安全 来源:网络整理
导读:就像Stream是一个懒惰的Seq,是否有一个懒惰版的Map? 我想做什么 val lm = LazyMap[Int,String]((a) = { println("only once") (a * a).toString()})lm.get(10) // print "only once"lm.get(10) // print nothing 解决方法 您基本上是要求缓存. 您可能会使用
就像Stream是一个懒惰的Seq,是否有一个懒惰版的Map?
我想做什么 val lm = LazyMap[Int,String]((a) => { println("only once") (a * a).toString() }) lm.get(10) // print "only once" lm.get(10) // print nothing 解决方法
您基本上是要求缓存.
您可能会使用scalaz.Memo,其中添加了给定功能的记忆. 见 http://eed3si9n.com/learning-scalaz/Memo.html 这将给出以下内容: val lm: Int => String = Memo.mutableHashMapMemo[Int,String] { a => println("only once") (a * a).toString() } 不过请注意,您所获得的是功能,而不是地图.这意味着您无法测试给定键的存在或不存在,您只能应用.但是,如果我相信你的例子,在你的情况下,这正是你想要的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- Bash String Manipulation Examples – Length,
- 【ionic+angularjs】angularjs ui-router路由简介
- WSDL手动生成WebService代理类的方法
- shell基础知识及使用方法
- 斯卡拉 – 为什么我的演员调度在Akka缩小?
- command failed shell "ps 'uiautomator
- angularjs – 使用$http transformResponse的ang
- 如何在scala中组合过滤器和地图?
- twitter-bootstrap – Twitter Bootstrap 3.0如何
- bash – 当字段在文件中匹配时,在csv中对多行进行
热点阅读