2008-09-27 12 views
6

Próbuję znaleźć lepszy sposób na integrację IRB z moim normalnym rozwinięciem ruby. Obecnie rzadko używam IRB z moim kodem. Używam go tylko do weryfikacji składni lub do wypróbowania czegoś małego.Jak włączyć interaktywną ruby ​​do mojego procesu rozwoju?

wiem, że mogę załadować mój własny kod w Ruby jako

require 'mycode' 

ale to zwykle nie zazębiają się z mojego stylu programowania. Czasami zmienne, które chcę zbadać, są poza zakresem lub wewnątrz pętli. Czy istnieje prosty sposób na odpalenie mojego scenariusza i zamrożenie w pewnym punkcie wewnątrz IRB? Chyba szukam prostszego sposobu na debugowanie mojego kodu ruby ​​bez łamania mojego klucza F5 (kompilacji).

Być może bardziej doświadczony deweloper ruby ​​może udostępnić mi bardziej usprawnioną metodę rozwoju.

+0

Opracuj test-pierwszy (najlepiej z RSpec i Ogórek). Wtedy wcale nie będziesz potrzebował IRB. Ale tak, punkty przerwania debuggera są drogą, jak już mówili inni. –

Odpowiedz

10

Zainstaluj klej ruby-debug. Oczywiście wymagaj go wewnątrz aplikacji (tylko w trybie programistycznym/testowym). Teraz możesz napisać "debugger", w którym chcesz zatrzymać wykonywanie.

Po zatrzymaniu aplikacji w punkcie przerwania można wpisać "pomoc", aby uzyskać informacje o wszystkich poleceniach. Jednym z nich jest "irb". Rozpoczyna sesję IRB, w której masz dostęp do wszystkich metod w bieżącym kontekście.

Osobiście używam głównie p (print), eval, v i (instancja vars) i v l (local vars). Oczywiście n dla następnych i c dla kontynuacji.

Polecenie wyjścia z danego bloku/metody nigdy nie zadziałało na mnie. Nigdy nie sprawdzałem, dlaczego :-)

+0

Mam textmate/e snippet, który wstawia "wymagają" ruby-debugowania "debugger". Używam go około 10 razy dziennie.To niesamowite :-) –

+0

Ooh, muszę to sprawdzić! Dzięki :-) – webmat

0

Po prostu używam rdebug do debugowania dowolnego mojego kodu ruby ​​lub RoR.

2

Nie mam tendencji do używania irb bezpośrednio tak często, ponieważ staram się być wewnątrz szyn i dlatego używam skryptu/konsoli, ale lubię używać debuggera ruby ​​(klejnot Ruby Debug). Pozwala ustawić punkt przerwania w zasadzie, a następnie przejść przez linię kodu po linii.

Oto screencast o tym, że nie zostały faktycznie obserwował, ale szybkie wyszukiwanie pociągnął ją do góry, a to może być przydatne:

http://brian.maybeyoureinsane.net/blog/2007/05/07/ruby-debug-basics-screencast/

0

Jeśli jesteś gotów użyć IDE dla debugowanie, Wiem, że Eclipse (przez Ruby Development Tools) ma stosunkowo prosty interfejs. Jeśli robisz szyny, istnieje specyficzna kompilacja zaćmienia o nazwie RadRails, która może również pomóc (chociaż nie używałem jej do debugowania).

1

Dla rozwoju Ruby w Eclipse: dostępna jest znacznie ulepszona wersja RDT (narzędzi programistycznych do ruby). Aby zainstalować go bezpośrednio w Eclipse, kliknij Pomoc> Aktualizacje oprogramowania> Znajdź i zainstaluj> Wyszukaj nowe funkcje przycisk radiowy> następny> Nowa zdalna witryna> Nazwa = Ruby i URL = http://update.aptana.com/update/rdt/3.2/

Inna wtyczka Ruby to nowa błyszcząca Eclipse DLTK (zestaw narzędzi do języków dynamicznych). DLTK stable release 1.0.M5 właśnie wyszło kilka dni temu. Oto niektóre useful installation tips.

Powiązane problemy