Класс Stdout
Класс Stdout представляет стандартный поток вывода
в Dart. Через него программа отправляет данные в консоль
или терминал. Экземпляр этого класса доступен через
глобальную переменную stdout из библиотеки dart:io.
Класс наследуется от IOSink и предоставляет методы
для записи строк, отдельных символов и управления
буферизацией вывода.
Основные методы класса: write для записи значения
без перевода строки, writeln для записи значения
с переводом строки и flush для принудительной
отправки буфера в поток. Свойство supportsAnsiEscapes
показывает, поддерживает ли терминал ANSI-escape
последовательности. Свойство terminalColumns
возвращает ширину терминала в символах.
Синтаксис
import 'dart:io';
stdout.write(object)
stdout.writeln(object)
stdout.flush()
stdout.supportsAnsiEscapes
stdout.terminalColumns
Пример
Давайте выведем строку в стандартный поток вывода
с помощью метода write (без перевода строки):
import 'dart:io';
void main()
{
stdout.write('abcde');
}
Результат выполнения кода:
"abcde"
Пример
Давайте выведем число с помощью метода writeln,
который автоматически добавляет перевод строки:
import 'dart:io';
void main()
{
stdout.writeln(12345);
}
Результат выполнения кода:
"12345"
Пример
Давайте выведем несколько значений подряд,
используя write и writeln, а затем
принудительно сбросим буфер методом flush:
import 'dart:io';
void main()
{
stdout.write('a');
stdout.write('b');
stdout.writeln('c');
stdout.flush();
}
Результат выполнения кода:
"abc"
Пример
Давайте проверим, поддерживает ли текущий терминал ANSI-escape последовательности:
import 'dart:io';
void main()
{
print(stdout.supportsAnsiEscapes);
}
Результат выполнения кода:
true