我試圖通過列表中的索引實現自己的安全搜索元素。 我認爲,我的功能必須有此簽名:使用foldr查找列表的第K個元素
safe_search :: [a] -> Int -> Maybe a
safe_search xs n = foldr iteration init_val xs n
iteration = undefined
init_val = undefined
我有問題,實現迭代。我認爲,它必須是這樣的:
safe_search :: [a] -> Int -> Maybe a
safe_search xs n = foldr iteration init_val xs n
where
iteration :: a -> (Int -> [a]) -> Int -> a
iteration x g 0 = []
iteration x g n = x (n - 1)
init_val :: Int -> a
init_val = const 0
但它有很多錯誤。我對haskell的直覺是錯誤的。
謝謝大家幫忙。 – David 2015-04-02 06:11:58