Я работаю над второй проблемой Эйлера, а пока просто пытаюсь определить последовательность Фибоначчи. В настоящее время у меня есть функция Фибоначчи, определенная как
Fib 0 = 0
Fib 1 = 1
Fib x = Fib (x - 1) + Fib (x - 2)
Поскольку я хочу, чтобы программа зависела от моего ввода с клавиатуры, я использовал
main = do
putStrLn "Enter desired Fibonacci index: "
"index" <- getLine
putStrLn Fib x
И определил x как x = read "index"
Я почти уверен, что испортил как отступ, так и свой синтаксис. В зависимости от того, как я модифицирую код, запуск «ghc /dir/file.hs» выдает мне что-то вроде «Не входит в область: конструктор данных `Fib'» или «ошибка синтаксического анализа (возможно, неправильный отступ)». я не знаю, что, черт возьми, я делаю, особенно в отношении того, как настроить .hs для компиляции.Я прочитал около 7 руководств по компиляции с помощью GHC, но все они, похоже, пропускают ту часть, где объясняют основные требования к компиляции.
Пожалуйста, дайте мне знать, как я могу быть более конкретным, если это поможет. Я думаю, что две вещи, которые я пытаюсь понять, это то, как вся «основная» вещь связана с компиляцией, и как я могу заставить ее распознать, что я определил Фибоначчи как функцию, даже если она говорит, что это не входит в область действия.
PS: Я не могу понять здесь отступ, кажется, Стек хочет поместить все в одну строку, поэтому мне нужно все это разделить. Прости.
sum
,filter
иtakeWhile
. - person Jonno_FTW   schedule 19.12.2009