Wie akzeptiere ich eine Variable von der Konsole mit Javascript in Rhino? alles ähnlich wie cin oder scanf?Konsoleneingabefunktion für Rhino?
Antwort
Hier zwei Linien, die tun, was Sie wollen:
var stdin = new BufferedReader(new InputStreamReader(System['in']))
var aLine = stdin.readLine();
Verwenden Sie einfach die Java-Klassenbibliothek. Ich denke, das funktioniert:
var stdin = java.lang.System.in;
var line = stdin.readLine();
An diesem Punkt ist es einfach, die Linie zu konvertieren welcher Art auch immer Sie mögen, oder sie in Stücke zu brechen ein RegExp verwenden.
Dies könnte Unicode-Eingabe verstopfen, aber ich bin mir nicht sicher, es gibt einen guten Weg, dass plattformübergreifend.
In Rhino Sie dürfen nicht vergessen, Java-Pakete importieren, bevor Sie sie verwenden können. Außerdem unterscheidet sich die Java-Zeichenfolge von der systemeigenen JavaScript-Zeichenfolge. Daher möchten Sie sie möglicherweise konvertieren.
Hier ist eine schnelle und unsaubere readln()
, die gleich in beiden SpiderMonkey und Rhino funktioniert:
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
}());
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);
Ich hoffe, dies wird Ihnen helfen:
einfache Funktion, die liest eine Zeile von Konsole
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. Rhino Commons und Rhino Mocks Referenzdokumente?
- 2. Rhino Einbettung
- 3. Java-Script-Debugger für Rhino erstellen
- 4. Rhino Mocks für ASMX Web-Dienste
- 5. Rhino-Licensing für .NET wirft eine LicenseExpiredException
- 6. Warum nicht Rhino für JVM-Apps?
- 7. Erklärung für ternären Operator in Rhino Mocks?
- 8. Rhino Mocks mit Singleton
- 9. XMLHttpRequest in Rhino?
- 10. Wann muss Rhino Commons UnitOfWork geleert werden? Rhino Commons UnitOfWork (in einem UnitOfWorkApplication für ASP-MVC)
- 11. Rhino Mocks Partial Mock
- 12. AssertWasCalled in Rhino Mocks
- 13. Rhino Mocks: Mocking HttpRequestBase.Files
- 14. Unicode in Rhino
- 15. Rhino Mocks Record Wiedergabesyntax
- 16. JVM fehlt Rhino
- 17. Haben Rhino-Skript vorladen?
- 18. Rhino Mocks, VerifyAllExpections
- 19. Rhino Mocks & Compact Framework
- 20. Wer nutzt Rhino Security?
- 21. Wro4j - Rhino Implementierung
- 22. konfigurieren Rhino in Javascript Eclipse
- 23. Rhino Mocks Ref Param Einschränkung
- 24. Unittesting Url.Action (mit Rhino Mocks?)
- 25. Split Java-Strings in Rhino
- 26. Rhino, typeof und Autoboxing Verwirrung
- 27. Mozilla Rhino: Standard-JavaScript-Konformitätsstufe
- 28. Probleme mit Rhino auf Android
- 29. ein Rhino skript Bohne Migration
- 30. Verschachteln von Transaktionsbereichen für Integrationstests mit Rhino Commons UnitOfWork
In diesem Fall, wie kann ich eine Funktion schreiben, die eine Variable auf den Konsoleneingang setzt? Funktion getInput (Variable) {// Code geht hier} –