gpt4 book ai didi

functional-programming - OCaml 函数 : replace a element in a list

转载 作者:行者123 更新时间:2023-12-04 08:43:08 24 4
gpt4 key购买 nike

我是 OCaml 的新手,需要一个简单的函数来替换列表中的元素。

一段时间后,我开始完成这项工作,但我不希望在函数中使用这个 count 参数。

let rec replaceelem ls x elem count=
match ls with
| [] -> ls
| h::t -> if (count = x) then
elem::(replaceelem t x elem (count+1))
else
h::(replaceelem t x elem (count+1))

例子
# let a = [1;2;3;4;5];;
val a : int list = [1; 2; 3; 4; 5]
# replaceelem a 3 99 0;;
- : int list = [1; 2; 3; 99; 5]

最佳答案

使用 List.mapi - 它在遍历列表时提供元素的索引 -

let replace l pos a  = List.mapi (fun i x -> if i = pos then a else x) l;;

关于functional-programming - OCaml 函数 : replace a element in a list,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37091784/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com