功能解析錯誤Haskell的錯誤:輸入'=」
GHC 6.12.1
的Mac OS X 10.6.4 64
的MacBook Pro
問題
我在使用let
語法時遇到問題。下面的代碼拒絕編譯:
module Main where
main = let x = 1
y = 2
z = 3
in putStrLn $ "X = " ++ show x ++ "\nY = " ++ show y ++ "\nZ = " ++ show z
我試着在y = 2
和z = 3
跳格甚至更多。沒有骰子。
(不良)解決方案
我已經得到的代碼編譯的唯一辦法是要麼
- 更換硬標籤用空格。
- 用
where
子句替換let
子句。
結束絕不使用製表符哈斯克爾,總是使用空格。haskell中的選項卡被定義爲8個空格,這比人們經常期望/設置編輯器的空間要多得多,因此總是建議您使用空格。任何體面的編輯器都會讓你製作空間。 – Axman6 2010-10-30 01:58:43
我發現這是一個出色的視覺輔助工具,並且在整體主題上提供了極好的指導:[http://echo.rsmw.net/n00bfaq.html#visualaid](http://echo.rsmw.net/n00bfaq.html# visualaid) – Brandon 2011-09-02 00:44:30