Объявления в приглашении GHCi - PullRequest
9 голосов
/ 26 мая 2011

Я только что установил платформу Haskell для Windows (версия 2011.2.0.1) и начал работать через HaskellQuestions.pdf

Второй вопрос требует «х = 3» в качестве ответа. Но когда я ввожу это в GHCi, я получаю

GHCi, version 7.0.3: http://www.haskell.org/ghc/  :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Loading package ffi-1.0 ... linking ... done.
Prelude> x = 3

<interactive>:1:3: parse error on input `='
Prelude>

Почему? Я проверил ответ, и я прав. Что случилось со знаком равенства?

1 Ответ

11 голосов
/ 26 мая 2011

В GHCi, чтобы присвоить значение, вы должны пойти

let x = 3

В обычном коде на Haskell x = 3 будет действительным (см. Примечание ниже).

Real World Haskell Начало работы * На странице 1010 * содержится много полезной информации об использовании GHCI.

Вы также можете посмотреть документацию для GHCi (но лично я считаю, что Real World Haskell немного более усваивается).

N.B. Как отмечает EdvardM в комментариях, синтаксис использования let в этом контексте взят из нотации Хаскелла do (если вы только начинаете, не напрягайтесь, если вы немного потерялись. Не торопитесь, развлекайтесь, и это должно иметь смысл в кратчайшие сроки).

...