Я новичок в программировании 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
.
Возможно, мне что-то не хватает, но если вы запустите 'main' из GHCI, если он завершит с кодом ошибки (то есть он не сработает), вы вернетесь к интерпретатору. – user2407038