for-comprehension

    7热度

    2回答

    当我制作future或应用方法如onSuccess和map时,我可以为它们指定ExecutionContext。 例如, val f = future { // code } executionContext f.map(someFunction)(executionContext) f onSuccess { // code } executionContext

    2热度

    2回答

    我有一组项目,让我们称他们为Effect,我也有一组possibleEffects : Set[Effect] 我需要通过效果列表进行迭代,只有返回的Cause列表第一个Cause我找到每个Effect。可能有重叠原因导致多个效应,这就是为什么结果需要在一个集合中。我需要这个尽可能快,因为它执行很多次。我想出了以下内容(不确定它是否是最好的方法,我是scala的新手)。 我想使用find()方法返

    0热度

    1回答

    LINQ风格查询斯卡拉与json4s如下所示: val jvalue = parse(text) // (1) val jobject = for(JObject(o) <- jvalue) yield o // (2) 我完全不知道如何(2)工作。你将如何脱糖for-陈述?

    6热度

    2回答

    简单的代码,应该通过检查用户,用户处于活动状态,并在那之后更新上次登录日期时间。 def authenticate() = Action.async { implicit request => loginForm.bindFromRequest.fold( errors => Future.successful(BadRequest(views.html.logon(error

    0热度

    1回答

    可以说我有一个List[TraitA]的对象。 TraitA提供了一个属性propX : String。 我知道该列表的一个子集也是TraitB的一个实例,但它不提供属性propX。 因此,例如: trait TraitA { def propX : String } trait TraitB { def abc : Int } 一些列表只是extend Tra

    0热度

    1回答

    我在斯卡拉的简单组合功能: def combine(t1: List[Int], t2: List[Int]) = { for { a1 <- t1 a2 <- t2 } yield List((1, a1), (2, a2)) } 这对于给定的 List(1, 2), List(3, 4) 回报 List( List((1,1),

    2热度

    2回答

    我在玩Racket,错过了字节串理解。当我发现for/fold/derived与文档中的例子,我决定推出自己的字节串理解宏观的,因为任何初学者会: (define-syntax (for/bytes stx) (syntax-case stx() ((_ clauses . defs+exprs) (with-syntax ((original stx))

    13热度

    3回答

    我对Scala有点新奇,所以如果这有点儿微不足道的道歉。 我有我想要遍历的项目列表。我对每个项目执行检查,如果其中一个失败,我希望整个函数返回false。所以你可以看到这是一个AND条件。我希望它被懒惰地评估,即我遇到第一次虚假回报错误的那一刻。 我习惯于for - yield语法,它过滤通过某个生成器(项目列表,序列等)生成的项目。但在我的情况下,我只是想突破并返回false而不执行循环的其余部

    3热度

    1回答

    我知道在Scala中键入是一件大事,理想情况下,您可以使用类似于模式匹配的东西来绕过类型转换或任何混乱的解决方案。然而,我无法理解,如果我遍历一个列表或一系列常用超类型的子类型的项目,并且只想在该子类型的一个序列中指定一个特定子类型的项目,我该怎么做。我不认为我可以在for-comprehension中进行模式匹配来实现此目的。 因此,可以说,比如我有这些类: sealed abstract cl

    6热度

    1回答

    假设我有以下代码: val either: Either[String, (Int, Int)] = Right((1,2)) for { (a, b) <- either.right } yield a + b 当我评价它在REPL我得到 :13: error: constructor cannot be instantiated to expected type; found