【发布时间】:2015-01-06 22:58:07
【问题描述】:
我正在尝试反转列表。
以下是我的代码:
reverseList :: [Int] -> [Int]
reverseList [] = []
reverseList (x:xs) = x:reverseList xs
最终发生的事情是我最终以相同的顺序返回列表。我什至有一个如何反转列表的解决方案,但我想了解我在这里做错了什么?我对haskell很陌生,所以我认为我应该更多地专注于理解,然后我才能轻松解决更多问题。我知道这个问题有很多解决方案,但我需要更多帮助来理解尤其是我在这段代码中做错了什么。
【问题讨论】:
-
从这里学到的一个教训是,你可以做
1:[2,3,4],但你不能做[2,3,4]:1。此数组构造指令中最左边的项要求该项是元素而不是数组。这就是 Haskell 在这种情况下的方式,也是像我这样的新手认为内化和习惯非常重要的核心概念。
标签: haskell functional-programming