2012-09-23 18 views
40

Puse recientemente instrucciones de console.log en cada línea de un programa de JavaScript y descubrí que ahora es mucho más fácil de entender. ¿Hay alguna manera de hacerlo con el código del lado del servidor, específicamente Ruby? Supongo que no hay forma de leerlo en Firebug, pero ¿sería visible en IRB? ¿Qué declaraciones equivalentes de console.log pondría en el código de Ruby?Ruby: console.log?

+10

Por cierto, 'console.log' no debe usarse en * cada línea de un programa de JavaScript *. Eso es sucio como el infierno y hará que los mensajes importantes (excepciones, errores JS, errores HTTP, etc.) sean más difíciles de ver. –

+4

Estoy seguro de que es una forma útil de aprender a codificar. –

+0

@SamyDindane w0w ur s0 sm4rt .... –

Respuesta

60

puts es el equivalente en ruby.

+0

Así que no interfiere con el resto del programa de todos modos? ¿Debo poner algo entre paréntesis? – BrainLikeADullPencil

+1

No se requieren corchetes :) 'puts' se imprimirá y continuará así' puts a' imprimirá la variable 'a' tal como' console.log (a) '. En Ruby, los paréntesis no son necesarios, por lo que 'puts (a)' es lo mismo que 'puts a'. –

+2

Creo que el tipo de equivalente de 'console.log (a)' sería 'puts a.inspect' o' p a' shortcut. (por ejemplo 'puts [1, 2, 3]' imprimirá 1, 2 y 3 en líneas separadas mientras 'p [1, 2, 3]' y 'console.log ([1, 2, 3]))' dará '[1, 2, 3]' dando la estructura del objeto. – rubyprince

7

Si está ejecutando su servidor en la consola, puede usar puts. De lo contrario, deberá escribir en un archivo, posiblemente a través de un registrador (como Rails.logger.info).

+0

¿me puedes mostrar cómo hacerlo? con console.log, acabo de poner el código para ser registrado dentro de los paréntesis? console.log (model.get (id) y que mantiene el código separado del resto del programa. ¿Cómo sabe el programa para mantenerlo separado del resto del programa? – BrainLikeADullPencil

+0

Así que no sé a qué te refieres con "separado" "una impresión tanto en Javascript como en Ruby es una operación secuencial realizada antes de seguir adelante. Como puedes ver en mi comentario anterior' pone 'en una línea sola, imprimirá la variable 'a'.' puts' puede usarse solo como 'console.log' –

+0

El código equivalente a lo que tienes, en ruby ​​sería' puts model.id' –