2015-10-21 1 views
2

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

Моя функция выглядит следующим образом:

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

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

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

ответ

4

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

{-# LANGUAGE OverloadedStrings #-} 

import qualified Data.Text.IO as Text 

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

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

{-# LANGUAGE OverloadedStrings #-} 

import Turtle 

main = printf "Input something: "