Можете показать как сделать так чтобы при нажатии на любую клавишу в консоле выводилось какое-нибудь слово
Уже долго ищу в интернете и всё не как не могу понять как это можно реализовать на хаскеле, если сможете помочь буду благодарен.
Ответы (1 шт):
Когда речь заходит о посимвольном вводе, корректном выводе юникода, и прочих консольных премудростях, от языка программирования уже мало что зависит.
А зависит все от операционной системы, текущем режиме консоли, допустимом уровне костыльности и переносимости кода, наличии и возможности использования профильных библиотек.
Для вашей задачи самым простым и универсальным решением будет использование библиотеки haskeline (некоторого аналога GNU Readline), работающей как в Posix системах, так и в Windows (далеко не так же хорошо, но все же)
import Control.Monad (forever)
import System.Console.Haskeline
main :: IO ()
main = runInputT defaultSettings $ forever $ do
waitForAnyKey "Press any key..."
outputStrLn "Hello!"