【发布时间】:2011-06-05 19:16:14
【问题描述】:
来自 Haskell 学习者的一个非常简单的问题。我正在通过Yet Another Haskell Tutorial 工作,并且我坚持简单的语法练习。下面给出的代码:当我复制并粘贴它(来自pdf)然后调整缩进它工作正常,但是当我将它输入到编辑器(在我的情况下为Notepad ++)时,它会引发以下错误:
Guess.hs:8:9: parse error on input ´hSetBuffering´
我确保我没有混合制表符和空格(4 个空格),并且我没有在书中找到错字。我确信这是一个非常简单的错误,因此感谢您的任何意见。
尼伯霍姆
代码如下:
module Main
where
import IO
import Random
main = do
hSetBuffering stdin LineBuffering
num <- randomRIO (1::Int, 100)
putStrLn "I'm thinking of a number between 1 and 100"
doGuessing num
doGuessing num = do
putStrLn "Enter your guess:"
guess <- getLine
let guessNum = read guess
if guessNum < num
then do putStrLn "Too low!"
doGuessing num
else if read guess > num
then do putStrLn "Too high!"
doGuessing num
else do putStrLn "You Win!"
【问题讨论】:
-
我用 ghc 试过你的代码,效果很好。
-
您可能想要使用比记事本更高级的东西一点。我使用记事本++,但还有很多其他深受程序员喜爱的编辑器...
-
@MatrixFrog:我使用 Notepad++ ...我倾向于使用 IDE,但我目前使用的笔记本电脑相当慢,所以我坚持使用不占用资源的程序。例如,Eclipse 和 Netbeans 几乎扼杀了笔记本电脑的性能。
标签: haskell syntax indentation