【发布时间】:2019-06-26 14:31:11
【问题描述】:
我想要一个函数f :: Int -> a -> [a] -> [a],其中返回值是第三个参数,第一个参数给出的索引处的项目被第二个参数替换。
所以
f 1 42 [1, 2, 3] == [1, 42, 3]
我在 Hoogle 上查找具有该签名的函数,但没有找到与我要查找的函数匹配的函数。
在 Haskell 标准库中是否有一个函数可以满足我的需求?
【问题讨论】:
-
我觉得
base没有这样的功能。你可以定义它:f i x = zipWith (\j y -> if i == j then x else y) [0..]. -
splitAt非常接近。
标签: haskell