E.g. если у вас есть функция (fun x -> x+1)
, и вы хотите сопоставить ее с [1; 2; 3]
. Но вы хотите отобразить его только тогда, когда x=1
, так что выход будет [2; 2; 3]
. Как ты делаешь это?Как вы можете сопоставить функцию только определенным элементам в списке?
Используя OCaml, я попробовал:
let rec foo (input : int list) : int list =
match input with
| [] -> []
| hd::tl -> List.map (fun x -> if x=1 then (x+1)) input;;
И я пытался 'когда' заявления, но безрезультатно.
я чувствую, Я пробовал это, но это не сработало. Но теперь это сработало. Рокстар, ты. Спасибо за подсказку «когда». – Aspen