如何使用Rhino中的javascript從控制檯接受變量?任何類似於cin或scanf的東西?犀牛控制檯輸入功能?
7
A
回答
7
下面是兩行會做你想要什麼:
var stdin = new BufferedReader(new InputStreamReader(System['in']))
var aLine = stdin.readLine();
0
只需使用Java類庫。我認爲這會工作:
var stdin = java.lang.System.in;
var line = stdin.readLine();
在這一點上很容易轉換線,以任何你喜歡的類型,或將它分成用一個RegExp件。
這可能斷章取義Unicode輸入,但我不相信有解決這個問題,跨平臺的好方法。
1
在犀牛你要記住導入Java包,然後才能使用它們。此外,Java String與JavaScript本機String不同,因此您可能需要對其進行強制轉換。
這裏是一個快速和骯髒的readln()
是工作在兩個SpiderMonkey和Rhino相同:
var readln = (typeof readline === 'function') ? (readline) : (function() {
importPackage(java.io);
importPackage(java.lang);
var stdin = new BufferedReader(new InputStreamReader(System['in']));
return function() {
return String(stdin.readLine()); // Read line,
}; // force to JavaScript String
}());
0
var ins = java.lang.System.in;
var newLine = java.lang.System.getProperty("line.separator");
var is = new java.io.InputStreamReader(ins);
var sb=new java.lang.StringBuilder();
var br = new java.io.BufferedReader(is);
var line = br.readLine();
while(line != null) {
sb.append(line);
sb.append(newLine);
line = br.readLine();
}
var stdin = ""+sb.toString();//java string != javascript string
console.log("stdin:"+stdin);
0
我希望這將幫助你:
簡單的函數,從控制檯讀取一行
function readline()
{
var ist = new java.io.InputStreamReader(java.lang.System.in);
var bre = new java.io.BufferedReader(ist);
var line = bre.readLine();
return line;
}
print("Name? ");
var name=readline();
print("Your name is: "+name);
相關問題
- 1. 犀牛嵌入
- 2. 犀牛功能超越ECMA標準?
- 3. 犀牛
- 4. 犀牛JS的eval比犀牛JS
- 5. 復位犀牛製品AssertWasNotCalled
- 6. 犀牛製品使用
- 7. 犀牛製品SetupResult失敗
- 8. 犀牛爲Android
- 9. Object.bindProperties犀牛
- 10. jquery在犀牛
- 11. 在犀牛
- 12. 在犀牛
- 13. C++控制檯遊戲輸入&&刷新功能
- 14. 在運行時讓R功能「監聽」控制檯輸入?
- 15. 犀牛探查輸出格式
- 16. 執行從犀牛
- 17. 犀牛:用數字
- 18. 在控制檯中輸入輸入
- 19. java控制檯輸入
- 20. 輸入值在控制檯
- 21. QtCreator 2.4.1控制檯輸入
- 22. 標準控制檯輸入
- 23. 犀牛模擬調用被嘲笑的功能
- 24. 犀牛VS SpiderMonkey的性能測試
- 25. 犀牛嘲笑,無效和性能
- 26. 犀牛製品 - 懲戒工廠
- 27. 犀牛製品DynamicMultiMock - 額外接口
- 28. 會議嘲諷,犀牛製品
- 29. 犀牛製品測試Lambda表達式
- 30. 犀牛嘲笑,AssertWasCalled與Arg限制
在這種情況下,我該如何編寫一個將變量設置爲控制檯輸入的函數?函數getInput(變量){//代碼在這裏} – 2012-08-14 23:09:03