Черепаха: запрос на ввод, без завершающего перевода строки

Я пишу консольное приложение, которое должно предложить пользователю несколько вещей. Я использую библиотеку черепах.

Моя функция выглядит так:

askInput :: IO (Maybe Text)
askInput = do
    echo "Input something: "
    s <- readline
    return s

Но echo реализуется с использованием putStrLn и в результате напечатает свой аргумент с завершающим переводом строки.

Есть ли функция ввода в библиотеке черепах, похожая на Python raw_input, что сочетает в себе подсказки с последующим чтением пользовательского ввода?

2 ответа

Решение

Вы можете импортировать из text упаковать и использовать много функций, которые не экспортируются из turtle, В этом случае:

{-# LANGUAGE OverloadedStrings #-}

import qualified Data.Text.IO as Text

main = Text.putStr "Input something: " -- doesn't print newline

Я также хочу отметить, что turtle недавно добавил printf функция, которая выводит отформатированную строку без завершающей строки, поэтому другое решение:

{-# LANGUAGE OverloadedStrings #-}

import Turtle

main = printf "Input something: "
Другие вопросы по тегам