2008-09-27 11 views
6

IRB'yi normal yakut dağıtımımla bütünleştirmenin daha iyi bir yolunu bulmaya çalışıyorum. Şu anda IRB'yi kodumla nadiren kullanıyorum. Sadece sözdizimini doğrulamak ya da küçük bir şey denemek için kullanıyorum.Etkileşimli Ruby'yi geliştirme sürecime nasıl dahil edebilirim?

Ben

require 'mycode' 

olarak yakut içine kendi kodunu yükleyebilirsiniz biliyorum ama bu genellikle benim programlama tarzı ile uyuşmamaktadır. Bazen incelemek istediğim değişkenler kapsam dışı veya bir döngünün içinde. Senaryoyu ateşlemenin ve IRB'nin içinde belli bir noktada dondurabilmenin kolay bir yolu var mı? Sanırım F5 (derleme) anahtarımı kırmadan ruby ​​kodumda hata ayıklamak için daha kolay bir yol arıyorum.

Belki daha deneyimli bir yakut geliştiricisi benimle daha akıcı bir geliştirme yöntemi paylaşabilir.

+0

Önce test geliştirin (tercihen RSpec ve Salatalık ile). O zaman IRB'ye çok ihtiyacınız olmayacak. Ama evet, hata ayıklayıcı kesme noktaları, zaten söyledikleri gibi gitmek için yoldur. –

cevap

10

Ruby-debug gemini kurun. Elbette, uygulamanızın içinde olmasını gerektirir (yalnızca geliştirme/test modunda). Şimdi, yürütmeyi durdurmak istediğiniz yerde 'debugger' yazabilirsiniz.

Uygulamanız noktanızda durduktan sonra, tüm komutları öğrenmek için 'yardım' yazabilirsiniz. Bunlardan biri 'irb'. Mevcut içeriğinizdeki tüm yöntemlere erişebileceğiniz bir IRB oturumu başlatır.

Kişisel olarak çoğunlukla p (print), eval, v i (örnek vars) ve v l (local vars) kullanıyorum. Tabii ki, n sonraki ve c için devam etmek.

Belirli bir bloğun/yöntemin dışına çıkma komutu, benim için hiç işe yaramadı. Neden hiç sormadım :-)

+0

"Need 'ruby-debug'; debugger" öğesini ekleyen bir textmate/e snippet'im var. Ben günde yaklaşık 10 kez kullanırım.Bu harika :-) –

+0

Ooh, kontrol etmeliyim! Teşekkürler :-) – webmat

0

Sadece yakut veya RoR kodumdan herhangi birini ayıklamak için rdebug kullanıyorum.

2

Irb'ı sık sık kullanmaktan hoşlanmıyorum, çünkü rayların içinde olma eğilimindeyim ve bu yüzden betik/konsol bir demet kullanıyorum, ancak ruby ​​debugger'ı (Ruby Debug gem) kullanmayı seviyorum. Temel olarak bir kesme noktası ayarlamanızı ve ardından kod satırınızı adım adım geçmenizi sağlar. İşte

Aslında izlemedim bu konuda screencast, ama hızlı bir aramayla hemen çekti ve yararlı olabilir:

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

0

için bir IDE kullanmak isteyen iseniz hata ayıklama, biliyorum Eclipse (Ruby Development Tools aracılığıyla) nispeten basit bir arayüze sahiptir. Rayları yapıyorsanız, o zaman da yardımcı olabilecek spesifik bir tutulma (RadRails) yapınız (hata ayıklama için kullanmadım) (

1

Eclipse'de Ruby geliştirmesi için: şimdi mevcut olan RDT'nin (Ruby geliştirme araçları) geliştirilmiş bir sürümü var. Doğrudan Eclipse'e yüklemek için Yardım> Yazılım Güncelleştirmeleri> Bul ve Yükle> Yeni özellikler için ara radyo düğmesi> next> yeni uzak Site> Ad = Ruby ve URL = http://update.aptana.com/update/rdt/3.2/

Başka bir Ruby eklentisi parlak yeni Eclipse DLTK (dinamik dil araç kiti). DLTK stable release 1.0.M5 sadece birkaç gün önce çıktı. İşte bazı useful installation tips.

İlgili konular