在scala for-comprehension块中执行副作用代码[重复]

Posted

技术标签:

【中文标题】在scala for-comprehension块中执行副作用代码[重复]【英文标题】:Executing side effect code inside scala for-comprehension block [duplicate] 【发布时间】:2022-01-22 04:35:35 【问题描述】:

如何在 for-comprehension 块中执行副作用代码?如果我有这样的事情:

for 
 data <- fetchData()
 yield data.someAttribute

...现在我想使用 foreach 执行一些代码

for 
     data <- fetchData()
     someList <- fetchList(data)
     somelist.foreach(....)
 yield data.someAttribute

【问题讨论】:

_ = somelist.foreach(....) 【参考方案1】:

简单地说:

for 
     data <- fetchData()
     someList <- fetchList(data)
     _ = somelist.foreach(....)
 yield data.someAttribute

【讨论】:

我实际上是这样开始的,但是我得到了错误:值映射不是 Unit 的成员 @Mandroid Typo - 我编辑了 :)

以上是关于在scala for-comprehension块中执行副作用代码[重复]的主要内容,如果未能解决你的问题,请参考以下文章

带有值列表的 Scala Futures 用于理解

为啥 scala 函数中的块变量在执行内部块后无法更新?

带有理解的Scala事务块

在Scala中,从for循环块中返回一个值。

理解 Scala 块

Scala 代码块