몇 가지 옵션이 떠오릅니다. (하나가 설정되어있는 경우) 사용자가 입력 한 키 다음에 EOF
문자 또는 유형 exit
를 입력 할 때
new StringDecoder().bind(stdin)
.takeWhile((s) => s.trim() != 'exit')
.listen((sInput) {
같은 onDone
핸들러를 사용합니다 : 첫째, 당신은 '완료'조건을 설정하는 takeWhile()
를 사용할 수 있습니다. 당신은 cancel()
으로 가입을 취소하여 더 많은 유연성을 가질 수 있습니다 스트림을 닫지 않습니다 구독을 취소
void main() {
stdout.write("Enter Data : ");
var sub;
sub = new StringDecoder().bind(stdin).listen((String sInput) {
if (sInput.trim() == 'exit' || sInput.trim() == 'bye')
sub.cancel();
// Do something with sInput ............
});
, 그래서 어떤 onDone
핸들러가 호출되지 않습니다.
물론 남은 것이 없다면 exit(0)
[1]으로 언제든지 종료 할 수 있습니다.
"좋지 않다"고하면 무엇을 의미합니까? – jdigital
@jdigital. "연산자"가 "입력"을 누른 다음 입력 된 데이터를 사용하기 만하면됩니다. –
이 기사를 살펴보십시오. http://stackoverflow.com/questions/15440138/how-to-read-console-input-on-m3-dart – jdigital