2012-06-20 31 views

Trả lời

12

Các readLineSync() phương pháp stdin cho phép để nắm bắt một String từ giao diện điều khiển:

import 'dart:io'; 

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

Với lớp phi tiêu M3 như StringInputStream được thay thế bằng Stream, hãy thử này:

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

Sau đây là mã phi tiêu cập nhật nhất để đọc đầu vào từ 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); 
} 
Các vấn đề liên quan