Skip to content

Instantly share code, notes, and snippets.

@internetova
Last active November 29, 2020 14:11
Show Gist options
  • Save internetova/9bcb17a1438506b8478aa35aa1c192b6 to your computer and use it in GitHub Desktop.
Save internetova/9bcb17a1438506b8478aa35aa1c192b6 to your computer and use it in GitHub Desktop.
/*
Stream
Напишите функцию, которая считывает данные с клавиатуры до тех пор, пока не будет введен строка "exit".
Функция должна возвращать Stream<String>.
Напишите код, который прослушивает поток и распечатывает на консоль "Введена строка stroke_name" каждый раз,
когда в потоке появляется новое событие.
*/
import 'dart:io';
void main() {
useStream();
}
void useStream() {
writeInput().listen((value) => print('Введена строка: $value'));
}
Stream<String> writeInput() async* {
while (true) {
stdout.write('Напишите что-нибудь или exit чтобы закончить:\n');
final input = stdin.readLineSync();
if (input == 'exit') {
print('Программа остановлена');
break;
} else {
yield '$input';
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment