JavaScript - Consola para javascript

 
Vista:
Imágen de perfil de Sergio

Consola para javascript

Publicado por Sergio (7 intervenciones) el 12/07/2014 23:18:56
Estaba enseñándole a un amigo a programar, pero por una u otra razón me fallo la instalación de pseint ni idea del porque.

Pero entonces se me ocurrió, javascript esta en prácticamente todos los computadores del mundo, seria bueno enseñar por hay porque no toca instalar nada. El problema es que es un poco enredoso enseñarle a alguien que no sabe con esos mensajes molestos del prompt y del alert, y a no ser que use un formulario (cosa no muy sana para alguien que va a empezar), no se puede recibir datos del usuario, por eso me puse a la tarea de crear una consola.

Empece bien y todo XD, pero cuando llegue al problema principal, me fue imposible hacer que javascript esperase a que el usuario ingresara algo, le diera enter y continuar con el código :/.

Claro que se puede usar el setTimeout, en un evento de press key o algo similar, pero el código seria demasiado complicado para alguien que esta aprendiendo ¬¬, bueno hay esta mi duda, ¿se puede parar el código y reanudarlo de alguna forma?

A por cierto aquí esta la consola por si la quieren ver, basta con poner el código en el main.js. (perdonen el desorden es que soy nuevo en javascript y pues me falta mucho XD) http://www.mediafire.com/download/poq0k3vv8kblbv5/codigos.rar
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.162
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Consola para javascript

Publicado por xve (2100 intervenciones) el 13/07/2014 12:51:04
Hola Sergio, he probado y tu código, y la verdad me ha gustado mucho... me da la sensación de que es una buena base....

Sobre tu pregunta, la única manera de ejecutar el código es solicitar al usuario que pulse una tecla para continuar... es la única manera de poder detenerlo, algo como hacen los navegadores en sus consolas, que te permiten detener la ejecución a la espera de pulsar una tecla o botón.

Aunque no se muy bien como quieres hacerlo... es decir el usuario escribe sus instrucciones en el textarea? o crea las funciones en el main() y luego vas deteniendo instrucción por instrucción?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Sergio

Consola para javascript

Publicado por Sergio (7 intervenciones) el 13/07/2014 17:55:34
Gracias por comentar :D, bueno la idea es crear una consola parecida a la de otros lenguajes, como vb.net, c#, java y pues pseint. Entonces en ese sentido mi cliente es alguien que crea algoritmos (que esta aprendiendo jeje), que a su vez tiene un cliente o usuario que prueba el algoritmo.

Por lo tanto tengo que hacer que el código sea parecido a esto:

1
2
3
4
5
6
7
8
9
function Main()
{
	Consola.Escribir("Ingrese un numero");
	var N1 = parseFloat(Consola.LeerLinea());
	Consola.Escribir("Ingrese otro numero");
	var N2 = parseFloat(Consola.LeerLinea());
	var R = N1 + N2;
	Consola.Escribir("La suma de ", N1, " y ", N2, " es ", R);
}


Si te das cuenta la idea es mantener la estética que se usa en otros lenguajes, para que cuando aprenda, pueda migrarse fácilmente a otro. (en mi código actual funciona perfectamente, pero derrocha mucho recursos al repetir todas las instrucciones cada vez que se usa el leer).

El problema es hacer que el código pare en la segunda linera que es la de leer, y cuando se oprima un boton (en este caso lo pondría en el evento de la consola de keypress, de la tecla enter :P) continué desde la linea 2 o 3, por lo cual no se tenga que volver a ejecutar la linea 1 y 2.

Como puedes ver en mi código, da la sensación de que la consola espera a que ingreses un dato y después continua desde donde esta, pero lo que hice fue generar un error a posta en una linea para que frenara, y después re-ejecutar todo el código, omitiendo los métodos ya ejecutados.

Pero me parece que es demasiado ineficiente hacerlo así, entonces quería preguntarles si alguien sabe otra forma XD. Vieras todo lo que me costo idearme esa forma jajajaja. Pero si eso que mencionas de solicitar al usuario que oprima enter es la idea en concreto, ¿Como se hace eso?

Ha y pues la consola esta prácticamente terminada, si la quieren usar úsenla, es interesante tener una consola para este lenguaje XD, si encuentran algún bug, o tienen una sugerencia, no duden en comentarlo XD.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar