如何在案例类列表中的案例类中使用复制方法?

问题描述

我有一个记录列表(记录是一个案例类)。我试图同时更新列表中的所有记录(使用复制功能)并返回更新记录的列表。 我尝试使用foreach方法,但结果是我不允许产生该列表。

这是我到目前为止尝试过的方法,我不确定这是否正确

def update_record(record: List[Rec]): List[Rec] = {
  val result = record.foreach(r => {
    r.copy(firstname = get_firstname(r,record),lastname = get_lastname(r,record))
  })
  result
}

但是结果不会产生列表,因此我不确定现在该怎么办。

解决方法

您只需要使用map而不是foreach

def update_record(record: List[Rec]: List[Rec] =
  record.map { r =>
    r.copy(firstname = get_firstname(r,record),lastname = get_lastname(r,record))
  }

无论如何,最好遵循一些教程或课程或阅读有关该语言的书。这只是标准库的基础知识。

一些可能有用的链接: