2012-08-15 19 views

cevap

18

Oluşturucu yöntemi görüşmesinin adını verdiği etiketler ekleyen method_missing bir sürümünü uygular.

bir ifade (örneğin Builder::XmlMarkup.new gibi) size göstermek için bir dize oluşturmak amacıyla, üzerinde inspect çağırmaktır değerlendirmek zaman, IRB varsayılan davranışını irb oynarken (veya raylar konsol) varsayarsak. Oluşturucu durumunda, inspect olağan ruby ​​inspect yöntemi değildir - method_missing'a düşer ve etiketi ekler.

Bu, yalnızca yakutla etkileşimli olarak oynatılırken gerçekleşir. Sen Burada

xml = Builder::XmlMarkup.new; false 

ifadenin sonucu false böylece irb çağrılar bu konuda inspect ve yalnız kurucu obje bırakır gibi şeyler yapabilir. Bu sürekli devam etmek tuhaf olabilir. Eğer

xml = Builder::XmlMarkup.new; false 
def xml.inspect; target!; end 

yaparsanız o zaman xml hala irb tarafından kontrol zaman onun içeriği görüntülemek bir inşaatçı nesne olacak. inspect ( tag! kullanarak değil) adlı etiketleri oluşturamayacaksınız, ancak bu genellikle küçük bir rahatsızlıktır.

+2

bu burada – lemon

+0

evet aynı :-(işe alınamıyor hala kontrol elemanı – MXV

+0

Eğer irb asla izin dikkatli olmak gerekir gösterir Oluşturucuyu dene ve göster –

3

yine çıktıyı görmek istiyorsanız:

xml = Builder::XmlMarkup.new; xml.target! 
İlgili konular