3

有人可以给我看一个 Dart(控制台)(最新 r22223)中的终端输入(问题和响应)示例。我看到的唯一示例似乎不起作用或不完整。

4

2 回答 2

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 上运行良好。它会引用您在提示符下输入的任何内容。EOF您可以通过输入(control-D在 Linux 和其他类 UNIX 系统上,control-Z然后enter在 Windows 上)退出。

于 2013-05-07T05:39:18.080 回答
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();
  });
}

你找到了哪个例子,它到底错在哪里?

于 2013-05-06T21:23:24.590 回答