2012-09-23 22 views
40

Niedawno wprowadziłem instrukcje console.log do każdej linii programu JavaScript i okazało się, że teraz jest o wiele łatwiejsze do zrozumienia. Czy jest jakiś sposób, aby to zrobić z kodem po stronie serwera, konkretnie z Ruby? Zakładam, że nie da się go odczytać w firebugu, ale czy byłby widoczny w irb? jakie instrukcje instrukcji console.log wstawiłbym do kodu Ruby?Ruby: console.log?

+10

Nawiasem mówiąc, 'console.log' nie powinien być używany w * każdej linii programu JavaScript *. To jest brudne jak diabli i sprawi, że ważne komunikaty (wyjątki, błędy JS, błędy HTTP itp.) Będą trudniejsze do zobaczenia. –

+4

Jestem pewien, że jest to przydatny sposób, aby nauczyć się kodu. –

+0

@SamyDindane w0w ur s0 sm4rt .... –

Odpowiedz

60

puts jest odpowiednikiem ruby.

+0

tak więc nie zakłóca reszty programu? czy muszę wstawić cokolwiek w nawiasach? – BrainLikeADullPencil

+1

Nie są wymagane nawiasy :) 'puts 'będzie drukować i kontynuować, więc' puts a' wypisze zmienną 'a', tak jak' console.log (a) '. W Ruby nawiasy nie są wymagane, więc 'puts (a)' jest tym samym, co 'puts'. –

+2

Myślę, że bardziej odpowiednik 'console.log (a)' byłby 'put a.inspect' lub' p a' skrótem. (na przykład 'puts [1, 2, 3]' wypisze 1, 2 i 3 w osobnych liniach, podczas gdy 'p [1, 2, 3]' i 'console.log ([1, 2, 3]))' da '[1, 2, 3]' podając strukturę obiektu. – rubyprince

7

Jeśli używasz serwera w konsoli, możesz użyć puts. W przeciwnym razie będziesz musiał napisać do pliku, prawdopodobnie za pomocą programu rejestrującego (np. Rails.logger.info).

+0

czy możesz mi pokazać, jak to zrobić? z konsolą.log, po prostu wpisuję kod do zalogowania w nawiasach? console.log (model.get (id) i który utrzymuje kod odseparowany od reszty programu Jak to zrobić, aby przechowywać go oddzielnie od reszty programu – BrainLikeADullPencil

+0

Więc nie wiem, co masz na myśli przez "oddzielny "wydruk zarówno w JavaScript, jak i Ruby jest operacją sekwencyjną wykonywaną przed ich przejściem. Jak widać w powyższym komentarzu' umieszcza a' na linii, sama wypisze zmienną 'a'.' puts' może być użyte po prostu jak "console.log" –

+0

Odpowiedni kod do tego, co masz, w ruby ​​będzie "puts model.id" –