• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Scala Set类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Scala中scala.collection.immutable.Set的典型用法代码示例。如果您正苦于以下问题:Scala Set类的具体用法?Scala Set怎么用?Scala Set使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了Set类的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Scala代码示例。

示例1: promote

//设置package包名称以及导入依赖的类
package acumen
package interpreters
package reference2012

import Interpreter._
import acumen.Errors._
import scala.collection.immutable.Set


  def promote(f: Store => Store) : Eval[Unit] =
    mkEval (s => ((), Set.empty, Set.empty, f(s)))

  def pure[A](x:A) : Eval[A] = mkEval(s => (x, Set.empty, Set.empty, s))
  def pass = pure(())
  
  def getStore : Eval[Store] = mkEval(s => (s, Set.empty, Set.empty, s))
  def modifyStore(f:Store => Store) : Eval[Unit] = 
    mkEval(s => ((), Set.empty, Set.empty, f(s)))

  def logCId(id:CId) : Eval[Unit] = 
    mkEval (s => ((), Set(id), Set.empty, s))

  def logReparent(o:CId, parent:CId) : Eval[Unit] =
    mkEval(s => ((), Set.empty, Set((o,parent)), s))
  
  def asks[A](f : Store => A) : Eval[A] = 
    getStore >>= ((s:Store) => pure(f(s)))
  
  def sequence[A](es:List[Eval[A]]) : Eval[List[A]] = es match {
    case Nil     => pure(Nil)
    case (e::es) => for (x  <- e; xs <- sequence(es)) yield x::xs 
  }
  def sequence_[A](es:List[Eval[A]]) : Eval[Unit] =
    es match {
      case Nil     => pure(())
      case (e::es) => e >> sequence_(es)  
    }
  
  def mapM[A,B](f:A => Eval[B], xs:List[A]) : Eval[List[B]] = 
    sequence(xs map f)
  def mapM_[A,B](f:A => Eval[B], xs:List[A]) : Eval[Unit] = 
    sequence_(xs map f)

  def foldLeftM[A,B](a:A, f:(A,B) => Eval[A], l:List[B]) : Eval[A] =
    l match {
      case Nil     => pure(a)
      case (x::xs) => f(a,x) >>= (a1 => foldLeftM(a1,f,xs))
    }

} 
开发者ID:janduracz,项目名称:acumen-dev,代码行数:51,代码来源:Eval.scala



注:本文中的scala.collection.immutable.Set类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Scala Timer类代码示例发布时间:2022-05-23
下一篇:
Scala Codec类代码示例发布时间:2022-05-23
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap