Я новичок в программировании haskell. Я хотел бы привести пример того, как я могу выйти из основной программы, введя команду (например, QUIT) и вернитесь к экрану Prelude> по умолчанию. Я использую интерпретатор GHC 7.8.3. Пожалуйста, также укажите, какой модуль (ы) мне нужно будет импортировать, если таковые имеются. Я искал все и пробовал разные вещи, но ничего не работает. На самом деле хочу знать, как это сделать как можно скорее. Большое спасибо заранееКакова пример реализации кода выхода для программы Haskell, которая возвращается к умолчанию Prelude> screen GHC 7.8.3
ответ
Этот SO ответ содержит основной для чтения выполнить цикл: https://stackoverflow.com/a/27094682/866915
Когда вы видите Prelude>
подсказку вы действуете в рамках программы ghci
, и вы получите обратно к той строке, когда функцию, которую вы вызвали возвратами.
Сокращенный пример:
main = do
let loop = do putStr "Type QUIT to quit: "
str <- getLine
if str == "QUIT"
then return()
else loop
loop
Очень хорошо. На том, что я искал. Мои знания растут, и теперь я могу оценить некоторые из моих собственных вариантов :). большое спасибо – gin
Вы можете использовать одну из функций из the System.Exit
module. Самое простое применение, вероятно, будет что-то вроде этого:
import System.Exit (exitSuccess)
main = exitSuccess
Конечно, это не большой полезности в этом примере, но вы можете поместить его везде, где IO()
можно использовать, и она будет завершать работу программы. В GHCi исключение, которое он выбрасывает, будет поймано, и вы вернетесь к подсказке Prelude>
после строки *** Exception: ExitSuccess
.
- 1. Таймауты с ghc 7.8.3
- 2. NixOS: используйте GHC ver 7.8.3 в системе
- 3. Причудливость в Haskell 7.8.3
- 4. GHC 7.8.3, не производящий двоичный код
- 5. лучшая стратегия для установки PandocAgda, которая требует базы <4.7, когда GHC 7.8.3 установлен
- 6. GHC - объявление Infixl в Haskell
- 7. Haskell Shelly пример кода
- 8. Haskell GHC главный
- 9. Haskell/GHC UndecidableInstances - пример для проверки без конца?
- 10. Haskell, GHC, win32, cairo
- 11. Понимание выхода опции GHC + RTS -t -RTS
- 12. Каков наилучший способ выхода из программы Haskell?
- 13. Оценка в GHCi 7.8.3
- 14. пример программы, которая просматривает записи
- 15. Производительность Haskell/GHC `any` /` all`
- 16. Константы времени компиляции GHC Haskell
- 17. Подключение к системе GHC
- 18. Haskell GHC: Какова временная сложность совпадения шаблонов с конструкторами N?
- 19. Применение реализации функции Easing (пример кода) для iPhone
- 20. Haskell охват программы
- 21. Пример кода для минимальной программы рисования (стиль MS Paint)
- 22. Haskell - компиляция вопросов в GHC
- 23. GHC-пакет скрыт
- 24. Ghc: частично скомпилировать код Haskell?
- 25. Какова функция связывания Haskell?
- 26. Ошибка при компиляции программы Haskell
- 27. Какова функция выхода из полной программы в общем режиме?
- 28. Haskell/GHC: Непонятно деконструкция конструктора?
- 29. Какова связь между ghc-pkg и cabal?
- 30. Перенаправление выхода из программы, которая выполняет шеллкод
Возможно, мне что-то не хватает, но если вы запустите 'main' из GHCI, если он завершит с кодом ошибки (то есть он не сработает), вы вернетесь к интерпретатору. – user2407038