有人能告訴我爲什麼下面的代碼不起作用嗎?Haskell Return與預期不符
test :: String
test =
do
return ("Hi")
我一直在努力使do語句工作一段時間,而且我一直在追究這個問題。我知道這不是你應該保持不變的方式,但是這樣整齊地總結了我所得到的問題。
我得到以下錯誤:
Test.hs:5:21:
Couldn't match expected type `Char' with actual type `[Char]'
In the first argument of `return', namely `("Hi")'
In a stmt of a 'do' block: return ("Hi")
In the expression: do { return ("2") }
更新:我明白了。在我努力將問題抽象到導致問題的部分時,我創建了另一個問題。儘管如此,無論如何,這無意中導致我解決了這個問題。
謝謝。那樣做了。我很感激你給了我一個解決進一步問題的方法。 – 2013-04-24 20:13:34
不客氣,我想你在做比代碼示例更復雜的東西,所以我在我的答案中給出了類型。 GHCi可以非常方便,所以我建議你在困惑時使用它:) – 2013-04-24 20:15:39