例如如果你有一个功能(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;;
我累了, '何时' 的语句,但无济于事。
我觉得我尝试过,但它不起作用 - 但它现在才起作用。 Rockstar,你。 感谢您提供'何时'的提示。 – Aspen 2011-12-15 09:49:50