2012-09-23 13 views
40

Recentemente ho messo le istruzioni di console.log in ogni riga di un programma JavaScript e ho scoperto che ora è molto più facile da capire. C'è un modo per farlo con il codice lato server, in particolare Ruby? Presumo che non ci sia modo di leggerlo in Firebug, ma sarebbe visibile in irb? quali istruzioni equivalenti di console.log inserirò nel codice Ruby?Ruby: console.log?

+10

A proposito, 'console.log' non dovrebbe essere usato in * ogni riga di un programma JavaScript *. È sporco da morire e renderà i messaggi importanti (eccezioni, errori JS, errori HTTP, ecc.) Più difficili da vedere. –

+4

Sono sicuro che è un modo utile per imparare come codificare. –

+0

@SamyDindane w0w ur s0 sm4rt .... –

risposta

60

puts è l'equivalente in rubino.

+0

così puts non interferisce con il resto del programma in alcun modo? devo mettere qualcosa tra parentesi? – BrainLikeADullPencil

+1

Nessuna parentesi richiesta :) 'puts' stamperà e continuerà quindi 'puts a' stamperà la variabile' a' proprio come 'console.log (a)' would. Nella parentesi Ruby non sono richiesti, quindi 'puts (a)' è lo stesso di 'puts a'. –

+2

Penso che il maggior tipo di equivalente di 'console.log (a)' sarebbe 'puts a.inspect' o' p a' shortcut. (per esempio 'puts [1, 2, 3]' stamperà 1, 2 e 3 in righe separate mentre 'p [1, 2, 3]' e 'console.log ([1, 2, 3]))' darà '[1, 2, 3]' dando la struttura dell'oggetto. – rubyprince

7

Se si sta utilizzando il server nella console, è possibile utilizzare puts. Altrimenti, dovrai scrivere su un file, possibilmente tramite un logger (come Rails.logger.info).

+0

puoi mostrarmi come farlo? con console.log, ho appena inserito il codice da registrare tra parentesi? console.log (model.get (id) e che mantiene il codice separato dal resto del programma. Come fa sapere a tenerlo separato dal resto del programma – BrainLikeADullPencil

+0

Quindi non so cosa intendi per "separato" "una stampa sia in Javascript che in Ruby è un'operazione sequenziale eseguita prima di andare avanti. Come puoi vedere nel mio commento sopra' puts a' su una riga di per sé stamperà la variabile 'a'.' puts' può essere usato solo come 'console.log' –

+0

Il codice equivalente a quello che hai, in ruby ​​sarebbe' puts model.id' –