Bazı xml oluşturmak için Builder :: XMLMarkup'ı deniyorum ve boş bir öğeyi xml'ye eklemeye devam ediyorum.Ruby Builder :: XmlMarkup neden xml'ye etiket ekliyor?
Bunu neden yapıyor ve nasıl durduracağım?
xml = Builder::XmlMarkup.new
=> <inspect/>
Bazı xml oluşturmak için Builder :: XMLMarkup'ı deniyorum ve boş bir öğeyi xml'ye eklemeye devam ediyorum.Ruby Builder :: XmlMarkup neden xml'ye etiket ekliyor?
Bunu neden yapıyor ve nasıl durduracağım?
xml = Builder::XmlMarkup.new
=> <inspect/>
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.
yine çıktıyı görmek istiyorsanız:
xml = Builder::XmlMarkup.new; xml.target!
bu burada – lemon
evet aynı :-(işe alınamıyor hala kontrol elemanı – MXV
Eğer irb asla izin dikkatli olmak gerekir gösterir Oluşturucuyu dene ve göster –