¿Cómo acepto una variable desde la consola con javascript en Rhino? algo similar a cin o scanf?función de entrada de consola para rinoceronte?
7
A
Respuesta
7
Aquí hay dos líneas que van a hacer lo que quiere:
var stdin = new BufferedReader(new InputStreamReader(System['in']))
var aLine = stdin.readLine();
0
Simplemente use la biblioteca de clases Java. Creo que esto va a funcionar:
var stdin = java.lang.System.in;
var line = stdin.readLine();
En ese punto es fácil de convertir la línea de cualquier tipo te gusta, o romperlo en pedazos usando una expresión regular.
Esto podría confundir la entrada de Unicode, pero no estoy seguro de que haya una buena forma de hacerlo, multiplataforma.
1
En Rhino usted tiene que recordar para importar paquetes de Java antes de poder utilizarlas. Además, Java String difiere de String nativo de JavaScript, por lo que es posible que desee lanzarlo.
Aquí es un rápido y sucio-readln()
que funciona de la misma, tanto en SpiderMonkey y 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
espero que esto le ayudará a:
función simple que lee una línea de la consola
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);
Cuestiones relacionadas
- 1. incrustación de rinoceronte
- 2. Ventajas de usar Rhino (rinoceronte de mozilla)
- 3. Texto sublime con entrada de consola para programas de C++
- 4. Entrada de lectura de la consola Groovy
- 5. C# Entrada de usuario de consola
- 6. Entrada de consola sin bloqueo C++
- 7. Entrada de consola con Qt Creator
- 8. Consola de teclado concurrente/no bloqueada entrada
- 9. Al usar la función de entrada "scanf" en la consola de depuración de Xcode 4
- 10. ¿Cómo obtengo la entrada de la consola en javascript?
- 11. Trozo de una propiedad dos veces con mohos de rinoceronte
- 12. Entrada de máscara de contraseña en una aplicación de consola
- 13. Entrada de consola de un solo carácter en java/clojure
- 14. Entrada y redirección de consola de bajo nivel
- 15. Entrada a la consola en Xcode 4
- 16. C# Entrada de recepción de consola con tubería
- 17. Entrada de la consola de lectura en MonoDevelop
- 18. Función de salida de entrada rápida
- 19. Entrada de lectura desde la consola en OSX
- 20. Establecer el valor predeterminado de una entrada de función para igualar otra entrada en Python
- 21. ¿Cómo tener diferentes tipos de entrada para la misma función?
- 22. Entrada de la tecla de flecha C# para una aplicación de consola
- 23. ¿Cómo leo la entrada de consola/stdin en Dart?
- 24. ¿Puedo obtener entrada de consola sin eco en python?
- 25. java impresión flujo de entrada a la consola el contenido
- 26. GWT 2.x $ función de entrada
- 27. Función SQL sin parámetros de entrada
- 28. ¿La función Javascript para entrada devuelve solo un índice?
- 29. Entrada repetida de entrada a una entrada estándar del proceso
- 30. Cómo enviar una tecla de función de función (F1..F12) a una aplicación de consola en .NET
En ese caso, ¿cómo puedo escribir una función que establece una variable para la entrada de la consola? function getInput (variable) {// el código va aquí} –