2010-12-22 13 views

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

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í} –

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