是否有人可以向我展示Dart(控制檯)(最新的r22223)終端輸入(問題和響應)的示例。我見過的唯一例子看起來不起作用或不完整。控制檯應用程序 - 終端輸入
回答
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();
});
}
哪個例子你有沒有發現,並且是它究竟錯了嗎?
謝謝,那最終工作後:a)我在Win7,並且代碼最初沒有工作(「讀取文件失敗8」)。 b)新的Dart編輯器必須在一夜之間出現(r22416),c)Dart編輯器找不到Java,d)安裝Java需要重新安裝刪除Java但未安裝它的Java,e)然後安裝Java ,f)然後你用最新的Dart工作。我會打個勾。 – 2013-05-07 04:55:18
這不是一個錯誤;當你創建閉包並在同一個語句中聲明'sub'時,當評估右側並創建閉包時,'sub'還不存在。通過首先聲明'sub',閉包可以關閉它。 – 2013-05-07 06:10:56
@DarshanComputing刪除該部分。在編輯器上感到羞恥,因爲沒有給出警告標記。 – MarioP 2013-05-07 08:43:17
這裏的另一種選擇:
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做工精細。無論您在提示中輸入什麼,它都會引用您的意見。您可以通過在Windows和其他類UNIX系統上輸入EOF
(control-D
,control-Z
,然後在Windows上輸入enter
)退出。
感謝您的建議。但..我會進一步測試,但是,最初,它在編輯器(r22416)中工作,但不是從命令行。從命令行(Win7),程序只是終止,沒有任何內容顯示爲輸出或輸入。很顯然,終端輸入對於某些應用來說很重要,所以「最好」的解決方案應該是很好的瞭解。這是我最初的觀察。 – 2013-05-07 10:34:35
@BrianOh我剛剛在Windows 7上測試了這一點,並且它與Dart 0.5.5.0_r22416的效果很好,它看起來像是一個不適合你的相同版本。我用'dart.exe io.dart'運行,並且完美運行。你如何啓動它? – 2013-05-07 17:06:07
對不起,如何在沒有ctl-d等情況下襬脫它?例如。 new StringDecoder()。bind(stdin).listen((String sInput){}); – 2013-05-07 20:19:27
- 1. BB10 - Cascades應用程序 - 控制檯/終端應用程序
- 2. 終止C#控制檯應用程序
- 3. 256色終端的單色控制檯應用程序
- 4. 在終端/控制檯中顯示Java應用程序錯誤
- 5. 控制檯應用程序輸出
- 6. Win32應用程序控制臺輸出?
- 7. 如何記錄屏幕/控制檯/終端輸入和輸出
- 8. 控制檯應用程序的輸入和輸出
- 9. 在控制檯應用程序中單獨輸入和輸出?
- 10. Python控制檯應用程序 - 輸入行以上輸出
- 11. 如何在Mac終端上爲Java程序獲取控制檯輸入?
- 12. 從控制檯應用程序輸入到另一個C#控制檯應用程序?
- 13. 訪問控制檯應用程序IO
- 14. 控制檯應用程序平臺始終「活動(86)」
- 15. 控制檯應用程序中的用戶輸入命令
- 16. 遷移到控制檯應用程序和用戶輸入
- 17. Win32應用程序使用printf將輸出寫入控制檯
- 18. 使用輸入參數的控制檯+ GUI應用程序
- 19. 控制檯應用程序傳遞通過輸入窗體應用程序
- 20. 控制檯應用程序中的掩碼密碼輸入
- 21. 從控制檯窗口輸入到Winform應用程序
- 22. 如何在C#控制檯應用程序中保存輸入
- 23. 如何從win32控制檯應用程序獲得輸入?
- 24. 如何在控制檯應用程序中輸入數字c#
- 25. 如何模擬鍵盤輸入到控制檯應用程序?
- 26. C#控制檯應用程序密碼輸入檢查器
- 27. WPF應用程序內控制檯輸入
- 28. 控制檯應用程序輸入參數 - 字符串標識
- 29. 在控制檯應用程序中解析Java鍵盤輸入
- 30. 控制檯應用程序提示輸入
這適用於我:http://stackoverflow.com/questions/16311876/simple-command-line-app-io-in-dart/16312777#16312777但請注意,這不適用於Windows時刻 - 應該在下一個版本中修復。 – 2013-05-06 21:46:56