Foreach 与 Scala 中的 Map [重复]

2024-02-01

我尝试了两种方法来列出一些东西

var response = List[RS_TxnNested]
consumertxnlist.foreach(txData => {
  response = RS_TxnNested(blabla) +: response
})

其中consumertxnlist是一个Seq[something]。

另一种方法是

var response = consumerTxnList._2.map(txData => RS_TxnNested(blabla))

有人可以帮助我澄清哪个更好以及为什么?


正如您已经注意到的,Seq 特征中的 map 函数返回一个值。它的签名实际上是

def map[B](f: (A) ⇒ B): Seq[B]

它旨在将函数应用于扩展 Seq 特征的集合的每个元素并返回一个新集合。

另一方面,具有相同特征的 foreach 具有以下签名:

def foreach(f: (A) ⇒ Unit): Unit

这意味着它被设计为执行具有副作用的函数。

在您的示例中,您将向“响应”分配值的操作视为副作用。如果您的实际目标是返回一个值(就像您想要做的那样),那么使用 map.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Foreach 与 Scala 中的 Map [重复] 的相关文章

随机推荐

  • 将 Intent 从 BroadcastReceiver 类发送到当前正在运行的活动

    我有一个扩展的类BroadcastReceiver 收到短信后 我想将信息传递到我的主要活动类 以在框中显示文本 如果文本已存在 则追加 public class SmsReceiver extends BroadcastReceiver
  • Algolia 对数组属性的过滤器未按预期工作

    我有一个关于 algolia 的索引 有这样的用户 UserA createdAt 1675364400000 email email protected cdn cgi l email protection products produc
  • 在Java中精确地将两个数字相乘[重复]

    这个问题在这里已经有答案了 我正在寻找一种在 Java 中将两个浮点数相乘的精确方法 我读到我应该使用 BigDecimal 但它并没有按预期工作 我究竟做错了什么 我的代码 BigDecimal a new BigDecimal 3 53
  • 为什么用 PIL 和 pytesseract 无法获取字符串?

    这是一个简单的Python 3光学字符识别 OCR 程序来获取字符串 我已经在这里上传了目标gif文件 请下载并另存为 tmp target gif try from PIL import Image except ImportError
  • 如果 onAttach() 没有在片段代码中被重写怎么办?

    根据片段生命周期onAttach 之前被调用onCreate 以便它将托管活动分配给片段 所以 我想知道如果它不被覆盖会怎样 所有片段回调的默认定义是否已经存在 来自文档 https developer android com refere
  • Python OpenCV HoughLinesP 无法检测直线

    我正在使用 OpenCV HoughlinesP 来查找水平线和垂直线 大多数时候它找不到任何线路 即使它找到一条线 它也与实际图像不接近 import cv2 import numpy as np img cv2 imread image
  • T D[N] 是否总是声明数组类型的对象?

    我很困惑 dcl 数组 1 http eel is c draft dcl array 1 在声明 T D 中 其中 D 的形式为 D1 constant expressionopt attribute specifier seqopt 声
  • 从测试内部访问 ScalaTest 测试名称?

    是否可以从 ScalaTest 测试中访问当前正在执行的测试的名称 我该怎么做 背景 我正在测试我的数据访问对象最终会抛出一个OverQuotaException如果用户例如创建太多页面 这些测试需要相当长的时间才能运行 为了感到更高兴 我
  • 将 HTML 传递给 HTML 模板

    我知道如果我们想将变量从 gs 传递到 HTML 模板 我们可以这样做 在 html 上 使用 div table thead th Qty th th Item th th Price th th Subtotal th thead tb
  • 使用保留下划线的 xjb 覆盖 JAXB 属性名称

    自定义 xjb 非常适合根据需要覆盖名称 但是我们会丢失名称中的下划线
  • \S、\W、\D 在正则表达式中代表什么?

    在 shell 脚本中 t 代表制表符 s 代表空白 w 代表单词 什么是 W capital W and D capital D 用于 W是相反的 w and D是相反的 d 就像 S是相反的 s W and D分别会匹配什么 w and
  • 刷新 InnoDB 缓存

    我有一些很少运行的报告查询 我需要保证它们的性能 而不依赖于将它们缓存在系统中的任何位置 在测试各种模式和存储过程更改时 我通常会看到第一次运行非常慢 而后续运行速度很快 所以我知道正在进行一些缓存 这使得测试更改变得很麻烦 重新启动 my
  • 如何将方法作为参数传入?

    我刚刚注意到我在 ASP NET 应用程序中重复了很多 C 代码 因此想要创建一个通用方法 我有一系列这样的私有方法 private void PopulateMyRepeatedControl DBUtil DB new DBUtil D
  • 谷歌电子表格中的逻辑例外/差异范围

    我想变得合乎逻辑 A B or A B 在谷歌电子表格中 所以 有 A A 1 2 3 4 and B B 2 3 5 6 所以我的公式 my amazing formula A A B B 应该返回 1 4 A 的元素不存在于 B 中 问
  • React 等价于 ng-repeat

    我是 React js 的新手 我正在尝试绑定数据数组 我正在寻找 ng repeat 的等效项 但我在文档中找不到它 e g var data red green blue 使用角度我会在我的html中做这样的事情 div i div 我
  • OpenGL 编译着色器已损坏

    我正在尝试在 OpenGL 3 2 中编译着色器程序 但遇到奇怪的链接错误 创建顶点和片段着色器并编译并附加它们后 我尝试将它们链接到程序中 但收到以下信息日志错误 ERROR Compiled vertex shader was corr
  • 在 Google 地图上放置街景按钮

    如何在相当典型的 Google 地图上放置街景按钮 使其与右上角的标准地图 卫星 混合按钮一致 我见过这样的一个例子 但现在找不到了 所以 我知道这是可能的 确实是的 人们可以在地图选项中指定控制位置 寻找控制定位 in the 在线文档
  • 有没有办法通过 adobe air 在 Android 上访问蓝牙

    您可以通过 adobe air for mobile 访问 android 的蓝牙 API 吗 确实有一个 Native Process API http tv adobe com watch adc presents invoke nat
  • 从结果创建 Observable

    我正在尝试 Angular2 我注意到 http 服务使用Observable对象而不是Promise 我不太喜欢这个选择 async await即将抵达 在我的服务中 我下载了一份列表Plants来自网络服务 单击植物 我会使用路由显示详
  • Foreach 与 Scala 中的 Map [重复]

    这个问题在这里已经有答案了 我尝试了两种方法来列出一些东西 var response List RS TxnNested consumertxnlist foreach txData gt response RS TxnNested bla