Ошибка анализа на входе '<-': Haskell

93
11

Я беру данные от пользователя, а код выглядит следующим образом:

putStrLn $ "Enter number"
num <- getLine
main = print $ num

Когда я запускаю этот код, компилятор дает следующую ошибку:

ra.hs:10:5: parse error on input '<-'

Как удалить эту ошибку? Я попытался использовать пробелы, а также символы табуляции, но ошибка сохраняется. Пожалуйста помоги.

спросил(а) 2014-11-26T03:44:00+03:00 6 лет назад
1
Решение
100

Вы должны переместить весь свой код в основной

main = do
putStrLn "Enter number"
num <- getLine
print num

Область за пределами main для деклараций и т.д. Вы используете <- внутри do.

Кроме того, вам не нужен дополнительный $ когда есть один параметр.

ответил(а) 2014-11-26T03:51:00+03:00 6 лет назад
42

Это просто работает для меня, если я помещаю строки внутри основного.

main:: IO ()
main = do
putStrLn $ "Enter number"
num <- getLine
print $ num

Вот исполняемый код: https://paiza.io/projects/CCc2kEbxXWfRRdVYAqbXww

ответил(а) 2014-11-26T03:54:00+03:00 6 лет назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема