2

次のように、Dart サーバー アプリケーションのコンソールからさまざまなデータを読み取りたいと考えています。

forename : ユーザーが入力して入力する
lastname : ユーザーが入力して入力する
age : ユーザーが入力して入力する

次のコードは機能しますが、1 つの入力項目に対してのみです。

var stream = new StringInputStream(stdin);
stream.onData = () {
    voornaam = stream.readLine();
};

しかし、複数のアイテムに対して機能させることはできません。Dart でこれを行う簡単な方法はありますか?

ありがとう!

4

2 に答える 2

1

単なる標準ではStringInputStreamなく、InputStreamテキストを読みたいと思っているからです。特に理由がない限り、onLineハンドラーを使用することをお勧めしonDataます。データでは、基本的に、新しい行自体ではなく、すぐに呼び出されるという点で情報を「ストリーミング」しようとします。次のようなものを試してください(完全なコードではない、適切なエラー処理がないなど)。

#import('dart:io');

main() {
  var stream = new StringInputStream(stdin);
  stream.onLine = () {
    var str = stream.readLine().trim();
    print(str.toUpperCase());
    if(str == 'EXIT') exit(0);
  };
}

もう1つの注意点として、データストリーミングを行ってonDataハンドラーを使用している場合は、コンテンツを取得するメソッドreadではなく、メソッドを使用することをお勧めします。これreadLineも、onDataが呼び出される前に受信されるテキストの全行。

于 2012-09-28T12:48:10.253 に答える