[Haskell-beginners] Please, help me for myFirstCode
Henk-Jan van Tuyl
hjgtuyl at chello.nl
Tue Oct 26 09:34:13 EDT 2010
On Tue, 26 Oct 2010 08:36:58 +0200, Sok H. Chang <shaegis at gmail.com> wrote:
-----------------------------------------------------------------------------------------------------------------------
> import System
> import System.Random
>
> main = do myHeader <- readFile "C:\\Documents and Settings\\myHeader.txt"
> putStrLn $ myExtractSentence myHeader
> myExtractSentence file = ary !! ranNoInt
> where
> ranNoInt =<< ranNo -- *mark
> ranNo = randomRIO (0, n-1)
> n = length ary
> ary = lines file
> ----------------------------------------------------------------------------------------------------------------------
> There are two questions.
>
> 1) I've got following error message.
> Haskell>ghc --make Test01.hs -o Test
> [1 of 1] Compiling Main ( Test01.hs, Test01.o )
>
> Test01.hs:10:9: parse error (possibly incorrect indentation)
>
> How can fix it?
The lay-out is wrong: putStrLn should be in the same column as the
"myHeader" above it; avoid tabs to prevent unexpected lay-out problems.
The lay-out could be like this:
-----------------------------------------------------------------------------------------------------------------------
main =
do
myHeader <- readFile "C:\\Documents and Settings\\myHeader.txt"
putStrLn $ myExtractSentence myHeader
-----------------------------------------------------------------------------------------------------------------------
>
> 2) Is it OK at "*mark" line?
>
Note that ranNoInt is a value inside the IO monad, you cannot use directly
as an index.
Regards,
Henk-Jan van Tuyl
--
http://Van.Tuyl.eu/
http://members.chello.nl/hjgtuyl/tourdemonad.html
--
More information about the Beginners
mailing list