问题标签 [for-comprehension]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - Scala:ExecutionContext 以供将来理解
当我创建一个future
或应用诸如onSuccess
and之类的方法map
时,我可以为它们指定 ExecutionContext。
例如,
但是,如果我使用对未来的理解,我如何为该yield
部分指定 ExecutionContext?
而且,如果未指定,什么 ExecutionContext 会在 yield 中运行代码?
编辑
好的。感谢答案,我发现了一些东西。
如果我不定义或导入隐式ExecutionContext(如Implicits.global
),则 for-comprehension 不会编译。这意味着,理解使用隐式 ExecutionContext。
那么,如何在没有隐式ExecutionContext的情况下使用for-comprehension,即如何指定?
generator - 如何使用过滤链接python生成器表达式?
我正在尝试链接生成器,以便可以将大型 CSV 文件作为行流处理,而不是批量执行每个单个操作。
这样,我可以延迟每一步的每次迭代,避免将整个数据集加载到内存中。
生成器表达式工作正常,除非我尝试使用 if 语句过滤输出。
这有效:一次只消耗一个迭代
next()
然后我可以通过调用生成的可迭代对象一次得到一行。但是,如果我这样做
然后,迭代器继续运行直到耗尽。为什么?解决方法是什么?
scala - Scala 附加到地图迭代
我正在尝试将序列的每个对象的值映射到列表的两个键的映射,但是在获取正确的语法时遇到了一些问题。
我想做的是遍历这个序列,将每辆车的名称(car.name)和年份(car.year)作为两个键映射到地图上,并将汽车附加到与这个名称和年份相关的汽车列表中作为 Map 的值。我也试图在这里不使用可变变量。
scala - Scala异步/回调代码重写
应该通过检查用户的简单代码,用户处于活动状态,然后更新上次登录日期时间。
如何将其重写为更少的 flatMap/map 意大利面条?
另一种解决方案
}
scala - 将列表映射到另一个特征的地图的最佳方法
可以说我有一个List[TraitA]
对象。TraitA
提供了一个属性propX : String
。我知道这个列表的一个子集也是 的一个实例TraitB
,但是它不提供属性propX
。
例如:
列表中的一些实例只是extend TraitA
,而另一些extend TraitA with TraitB
。我只需要提取那些具有TraitB
但我需要保留属性propX
的实例TraitA
。propX
只能是几个值,我需要的是根据这个值Map
对实例进行分组。TraitB
所以我需要TraitB
从List[TraitA]
实例中提取这个实例子集,因为其中一些是TraitA with TraitB
,并创建一个Map[String, List[TraitB]]
,其中密钥propX
来自TraitA
。
我一直在摆弄for
理解,但由于某种原因,我不能yield
a List[(String, TraitB)]
of tuples (那时我可以groupBy _.1
),可能是因为第一个生成器是 type TraitA
。
我试过这个,但它抱怨预期的类型是List[(String, TraitA)]
:
另一方面,如果我filter
通过模式匹配列出我在过滤功能中TraitB
失去可见性。propX
实现这一目标的最佳方法是什么?
racket - Racket 中的 for/list 与自定义 for/bytes
我在玩球拍,错过了一个字节串理解。当我for/fold/derived
在文档中找到示例时,我决定推出自己的字节字符串理解宏,就像任何初学者一样:
我有几个相关的问题:
- 无论如何,这是球拍方式吗?
- 宏好吗?基本上,我将
for/fold/derived
文档中的示例与宏扩展相结合for/vector
- 有没有明显的性能优化?
可悲的是,它并没有真正比(list->bytes (for/list ...
这个微基准更快:
给出 3212 毫秒与 3690 毫秒。对于远小于 50000 的尺寸,我for/bytes
会输,对于大于 50000 的尺寸,我会赢。
scala - 如何“脱糖”这个 Scala 语句?
Scala 中的 LINQ 样式查询json4s
如下所示:
我不明白(2)是如何工作的。你会如何去糖这个 -for
声明?
scala - 如何在 Scala 中编写通用组合
我在 Scala 中有一个简单的组合函数:
对于给定的
List(1, 2), List(3, 4)
返回
List(
List( (1,1), (2,3) ),
List( (1,1), (2,4) ),
List( (1,2), (2,3) ),
List( (1,2), (2,4) )
)
所以我想要一个组合(元组)列表,其中第一个元素是索引,第二个是来自域的值。我希望这种组合是唯一的,这样就不会与两个相同索引的元组组合。
不幸的是,我不知道要合并多少个列表。
如何编写更通用的函数?
javascript - Coffeescript 数组理解跳过值
我有一个要移植到咖啡脚本的 RPC 库。它必须做的一件事是重新排序函数调用参数以确保它们的顺序正确。为此,我编写了一个“数组理解”,如下所示:
所有远程过程都使用“cb”参数通过回调提供结果。这需要被理解跳过,因为客户端不提供此回调(服务器这样做是为了可以对结果进行编码和写入以返回给客户端)。[-1..-1]
我的问题是理解为此输入了值“未定义”,因此我必须使用笨拙的语法将未定义替换为我的回调。我宁愿跳过它并调用argValues.push cb
.
有没有办法让理解跳过这样的值?
scala - Scala:用于理解的 NoSuchElementException
我有一个网络请求的未来结果,我需要计算它的大小。如果当前响应有项目,我需要再次请求获取下一组,等等。如果当前响应为空,我就完成了。
我现在拥有的代码:
这似乎工作正常,直到 current 没有更多元素,并且我得到 NoSuchElementException 试图获取 current.last.name
我理解如果 !(current.isEmpty) 扩展到过滤器的条件,所以这不是我真正想要的。我想要的是:
我在这里使用 for 理解来轻松处理收集期货(至少这是我过去的做法)。有什么指导/要读的东西吗?我对 scala 还很陌生,所以请温柔一点。