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中对多行进行
热点阅读
            