169 похожих чатов

Какой нормальный подход для изменения рекордов в массиве? Что-то типа

такого выглядит довольно вербозно

type Foo = { id: int; bar: string }

let arr: Foo[] = [|
{id = 1; bar = "fst"}
{id = 2; bar = "snd"}
{id = 3; bar = "thd"}
|]

let arr2 = arr
|> Array.map (fun x -> if x.bar = "snd" then {x with bar = "blah"} else x)

13 ответов

22 просмотра

А как бы хотелось?

Иван- Автор вопроса
gsomix
А как бы хотелось?

Покороче 🤷‍♂️

Только вынести в функцию отдельную

Иван
Покороче 🤷‍♂️

Но с такой же семантикой?

в F# 6 есть updateAt для Seq \ Array \ List, но там по индексу только https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#updateAt

arr |> Array.map (function { bar = “snd” } -> { x with bar = “blah” } | x -> x)

Иван- Автор вопроса
Alexandr Krotov
в F# 6 есть updateAt для Seq \ Array \ List, но та...

Норм вариант, как раз то что нужно

Иван- Автор вопроса
/home/slavonchick> sudo
arr |> Array.map (function { bar = “snd” } -> { x ...

Не понял что это за синтаксис такой. Шарплаб тоже не понял https://sharplab.io/#v2:DYLgZgzgNALiBOBXAdlAJiA1AHxgTwAcBTAAgDEB7CkgXhIG8SBLDZ5GAbhICMBDeECQgx4TZAHMSAXwCwAKHnAiMEvwHkqAbQC6tEpuzySxhiz0BGLn3h6ARJBi3Zck6bR6ATFf52IyNE5GJvRmdADM3jZ0tjAAFgHO2Nryisqq8PAeempBrnnYAHwkAIIZvHgAdAC2vAQkABRgKADGMEwUyAw8PnSAOAR+aIC4BNIkALRFjAAeJADuTHHdUSS93MC8scNSJNgk0+O7AJQpcgSi7GCdtoA8G4Ag+7ZAA===

gsomix
as x в первой ветке забыл.

Ага https://sharplab.io/#v2:DYLgZgzgNALiBOBXAdlAJiA1AHxgTwAcBTAAgDEB7CkgXhIG8SBLDZ5GAbhICMBDeECQgx4TZAHMSAXwCwAKHnAiMEvwHkqAbQC6tEpuzySxhiz0BGLn3h6ARJBi3Zck6bR6ATFf52IyNE5GJvRmdADM3jZ0tjAAFgHO2Nryisqq8PAeempBrnnYAHwkAIIZvHgAdAC2vAQkABRgKADGMEwUyAw8PtF+AdKqECQAHiQAtEWMowDuTHHdUSS23MC8sbYD2CPjRcMAlClyBKLsYJ22gDwbgCD7tkA=

Иван
Не понял что это за синтаксис такой. Шарплаб тоже ...

function - это "имплиситный" match. Типа let text x = match x with | ... -> можно ещё представить как let test = function | ... ->

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта