下面的代码编译不到风度:帮助解决这个代码在Haskell
reindex :: (a -> a) -> [a]
reindex [] = []
reindex f y = let x = (zip [0..] y)
z = [(f m) |el <- x, let m = fst el]
[n !! y | n <- z, (n !! y) > -1]
我收到以下错误之一:
a)
parse error on input `['
b)
parse error on input `]'
我试图插入一些空格,而盈方或最后一行的后面,但它不工作。这让我更加难过,因为我不知道发生了什么。
需要帮助
UPDATE
重建索引接受一个函数和一个列表作为参数。它逐个获取列表的索引,并将该函数应用于它以生成新的索引。它将使用新生成的索引从原始列表中检索值以形成新列表。如果新索引超出了原始列表的范围,则该数字将被忽略。
例子:
Main> reindex (\x -> x + 1) [3,4,5]
[4,5]
Main> reindex (\x -> x - 2) [3,4,5]
[3]
更新已添加到帖子 – Kap 2010-11-25 05:40:42