【发布时间】:2015-11-12 20:42:24
【问题描述】:
我为problem 25 on Euler 编写了一个Haskell 程序。我认为我的程序应该运行并返回正确的答案,但它没有:
-- Problem25.hs
module Main where
fib :: Int -> Integer
fib 1 = 1
fib 2 = 1
fib n = fib (n-1) + fib (n-2)
length1 :: Integer -> Int
length1 = length . show
main :: IO ()
main = do
list1 <- [1..]
list2 <- zip3 list1 list1 list1
list3 <- map funct list2
where funct u v w = (u, fib u, length1 (fib u))
putStrLn "number : " -- line 17
putStrLn $ show . head . ( dropWhile ( \(u,v,w)-> w < 1000 ) list3)
但是,我收到以下错误:
$ ghc Problem25.hs [1 of 1] 编译 Main (Problem25.hs, Problem25.o) 问题 25.hs:17:3:输入“putStrLn”时解析错误为什么会出现解析器错误?我在do 区块中,所以putStrLn "number : " 应该没问题,对吧?
【问题讨论】:
-
总是发布 exact 错误信息。
-
@zeta 第一个只会导致更多……这将是永无止境的,但狩猎
标签: haskell