На этом шаге мы перечислим эти функции.
Функции вывода производят запись в стандартное устройство вывода (пользовательский терминал).
1. Функция, выводящая заданный символ в стандартный поток вывода:
putChar:: Char -> IO () putChar s
Например:
> putChar 'a' > putChar '3' a 3
При появлении признака конца файла вызывает исключение, которое распознаёт предикат isEOFError библиотеки IO.
2. Функция, принимающая строку в качестве аргумента и возвращающая действие ввода/вывода в качестве результата (побочным эффектом применения функции является вывод заданной строки на экран):
putStr:: String -> IO () putStr str
Например:
> putStr "qwe we" > putStr "3" "qwe we" 3
3. Функция, выводящая заданную строку на экран и завершающая её вывод символом перевода курсора на новую строку:
putStrLn:: String -> IO () putStrLn str
Например:
> putStrLn "qwe we" > putStrLn "3" "qwe we" 3
4. Функция, осуществляющая вывод заданного значения на экран (тип такого значения должен быть экземпляром класса Show).
Другими словами, функция print выводит значение любого пригодного для печати типа на стандартное устройство вывода.
Пригодные для печати типы - это такие типы, которые являются экземплярами класса Show; функция print преобразует значения в строки для вывода, используя операцию show, и добавляет символ "Новая строка".
print:: Show a => a -> IO () print zn
Например:
> print "qwe" > print 234 > print 'q' "qwe" 234 'q' > print ([(n,2^n)| n <- [0..4]]) [(0,1),(1,2),(2,4),(3,8),(4,16)]
На следующем шаге мы рассмотрим функции ввода по работе с символами.