3
Я новичок в Haskell, и я пытаюсь написать простую программу. Однако, при выполнении следующей программы:Haskell let синтаксис не работает
main = do
args <- getArgs
let w = read (args !! 0) :: Integer
in print w
Я получаю сообщение об ошибке:
file.hs: 4: 5: ошибка разбора на входе `в
То же let
синтаксис работает просто отлично за пределами do
...
Что я делаю неправильно?
Спасибо. Для записи, что такое правило в точности? Когда мне нужно поставить 'in' и когда мне нужно опустить его? – Timwi
Вы используете 'in' в' let'-as-an-expression и не 'in' в' do'-блоках. –
Но обратите внимание, что выражения 'let' справедливы и в блоках' do', если они имеют совпадающий монадический тип. Возможно, бессмысленно, но вы можете включить в свой пример: 'let x = putStrLn« Hello world »in x' –