有人可以在Dart(控制台)(最新的r22223)中向我展示终端输入(问题和响应)的示例。我见过的唯一例子似乎不起作用或不完整。
答案 0 :(得分:4)
这是另一种选择:
import "dart:async";
import "dart:io";
void main() {
stdout.write('> '); // stdout.write() rather than print() to avoid newline
new StringDecoder().bind(stdin).listen((str) { // Listen to a Stream<String>
print('"${str.trim()}"'); // Quote and parrot back the input
stdout.write('> '); // Prompt and keep listening
}, onDone: () => print('\nBye!')); // Stream is done, say bye
}
这似乎在Linux和Windows上运行良好。无论您在提示符处输入什么,它都会向您报出。您可以通过在Linux和其他类UNIX系统上输入EOF
(control-D
,control-Z
,然后在Windows上输入enter
来退出。
答案 1 :(得分:2)
import "dart:async";
import "dart:io";
void main() {
print("Do you want to say something?");
Stream<String> input = stdin.transform(new StringDecoder());
StreamSubscription sub;
sub = input.listen((user_input) {
print("Really? \"${user_input.trim()}\"? That's all you have to say?");
sub.cancel();
});
}
您找到了哪个示例,以及它究竟是错误的?