#list #scala #functional-programming #case-class
#Список #scala #функциональное программирование #класс case
Вопрос:
У меня есть список записей (record — это класс case). Я пытаюсь одновременно обновить все записи в списке (используя функцию копирования) и вернуть список обновленных записей. Я пытался использовать метод 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
}
но в результате не создается список, поэтому я не уверен, что теперь делать.
Ответ №1:
Вам просто нужно использовать 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))
}
В любом случае, было бы неплохо следовать какому-нибудь руководству или курсу или прочитать книгу об этом языке. Это всего лишь базовые знания стандартной библиотеки.
Некоторые ссылки, которые могут быть полезны: