2012-01-27 33 views
1

使用Rhino或RingoJS時,可以在控制檯REPL上使用print打印輸出(alert不可用)。RingoJS javascript - 在控制檯上獲取用戶輸入

什麼可以用來讀取控制檯上的用戶輸入,而不是prompt

是否有某處我可以找到有關這些約定的信息,哪些API在Rhino和/或RingoJS中可用,或者是否存在CommonJS指南?

回答

3

簡而言之,目前沒有標準(廣泛支持)從標準輸入流中讀取字節的方式。使用Rhino,您可以簡單地使用Java「System.in」輸入流; RingoJS顯然實施System module

它看起來好像CommonJS group仍然在draft of the "System" specification which includes a "stdin" object上工作,它應該是一個輸入流,其行爲就像在「r」模式下打開的文件一樣;這樣的對象也應該是include a "read()"的方法。但請注意,這些都是草稿規範,並且它看起來很少有JavaScript環境提供實現。在實現系統和IO規範的環境中,您應該可以這樣做:

var system = require('system'); 
system.stdin.read(10); // Read ten bytes. 
+0

感謝您的解釋。看起來有點奇怪,他們沒有提供警報和提示,直到規格定稿。當我試圖找到替代方案時,我讀到了爲什麼他們沒有提供警報。警報不符合舊瀏覽器等。 – sayth 2012-01-27 22:36:45