2012-06-20 21 views

Odpowiedz

12

The readLineSync() metodę stdin pozwala uchwycić String z konsoli:

import 'dart:io'; 

main() { 
    print('1 + 1 = ...'); 
    var line = stdin.readLineSync(encoding: Encoding.UTF_8); 
    print(line.trim() == '2' ? 'Yup!' : 'Nope :('); 
} 
3

z klasami dart M3 jak StringInputStream są zastępowane Stream, spróbuj tego:

import 'dart:io'; 
import 'dart:async'; 

void main() { 
    print("Please, enter a line \n"); 
    Stream cmdLine = stdin 
     .transform(new StringDecoder()) 
     .transform(new LineTransformer()); 

    StreamSubscription cmdSubscription = cmdLine.listen(
    (line) => print('Entered line: $line '), 
    onDone:() => print(' finished'), 
    onError: (e) => /* Error on input. */); 


} 
5

Następujący powinien być najbardziej aktualnym kodem dart do odczytu wejścia ze stdin.

import 'dart:async'; 
import 'dart:io'; 
import 'dart:convert'; 

void main() { 
    readLine().listen(processLine); 
} 

Stream readLine() => stdin 
    .transform(UTF8.decoder) 
    .transform(new LineSplitter()); 

void processLine(String line) { 
    print(line); 
}