Kod :: Splice

Kod :: Splice, bir alt rutinin içeriğini başka bir yerde belirtilen bir noktada enjekte eder.
Şimdi İndirin

Kod :: Splice Sıralama ve Özet

Reklamcılık

  • Rating:
  • Lisans:
  • Perl Artistic License
  • Fiyat:
  • FREE
  • Yayıncı adı:
  • Scott Walters and Brock Wilcox
  • yayıncı web sitesi:
  • http://search.cpan.org/~swalters/

Kod :: Splice Etiketler


Kod :: Splice Açıklama

Kod :: Splice, bir alt rutinin içeriğini başka bir yerde belirtilen bir noktada enjekte eder. Kod :: Splice, bir alt yordamın içeriğini, başka bir yerde belirtilen bir noktada enjekte eder. Kod kullanın :: Splice; Kod :: Splice :: Enjekte (kod => alt {baskı "fredn";}, paket => 'ana', yöntem => 'foo', önkoşul => alt {$ op = shift; $ satırım = vardiya ; $ line = ~ m / print / ve $ line = ~ m / four /;}, postCondition => alt {$ op = shift; $ line = shift; $ line = ~ m / baskı / ve $ line = ~ m / beş /;},); Sub Foo {"ONEN" yazdırın; "Twon" yazdırın; "TENTER" yazdırın; "Fourn" yazdırın; "Fene" yazdırın; } Bu modül, bir alt yordamın içeriğini (genellikle amacı için oluşturulan anonim bir alt rutin) ve başka bir yere eklerken ekler. Neden, API'nin granüllüğünden daha güçlü birim testleri yazın Nasty, Interdependant Speghetti Kodu (Motivasyonum - Hey, Refactoring'e başlamadan önce testler yapmalısınız ve kod için testler yazamazsanız, vidalayın) Aptal hataları düzeltin ve Aptal Kısıtlamaları diğer kişilerin kodunda düzeltin Monster Heisenbugs'u kendi kendini değiştiren kodlarla oynayarak, "yönlerini" düzenleme, dosyaları düzenlemek için yükseltmelerinizden daha ateşlidir. Buradaki tüm arkadaşlar, hak?) Özellikler: {} bloğu kodunun gövdesi, alt yordamdan çıkarılır ve Arama tarafından Arama'nın eklenmesi () işlevine göre belirtilen bir yere yerleştirilir. Yeni kodun eklendiği yerlerde, eski kod eklenir. Paket ve yöntem argümanları gereklidir ve kodun değiştirileceği kodun nasıl bulunacağını söyleyin. Kod argümanı, eklenecek kodu belirtir. Herhangi bir sayıda önkoşul ve son ödeme argümanları, kodu eklemek için tam alanın bulunmasına yardımcı olmak için geri çağrılar sağlar. Kod eklenmeden önce, tüm önkoşul bloklarının tümü doğru iade etmiş olmalı ve geçme bloklarının hiçbiri henüz doğru olamazdı. Herhangi bir önkoşul bloklarının tamamlanmasından önce bir PostaCondition geçerli olursa, bir hata yükseltilir. Her iki blok da, satır başına çok sayıda denir ve şu anda şu anda dikkat çeken B OP nesnesine referans alın ve geçerli satırın metni: Önkoşul => Alt {$ OP = Shift; $ satırım = vardiya; $ line = ~ m / print / ve $ line = ~ m / dört /; }, ... veya ... önkoşul => alt {$ op = shift; $ OP-> NAME EQ 'PADSV' ve $ OP-> SV-> SV = ~ M / FRED /; } OPS'yi test ederken bir ifadenin ortasına kod eklemek mümkündür, ancak kod satırının metnini test ederken, koddaki eklenmiş kodun her zaman tüm çizgiyi değiştirecektir. Gelecekteki versiyonu, en azından önkoşul / posta dışı bloklar için veya belki de onları 2. Arg'a değiştireceğim, bu yüzden daha fazla isteğe bağlılar. $ Satırdaki kod, B :: Deparse kullanılarak ByTecode'dan yeniden üretilir ve orijinal kaynak kodundan biçimlendirme, bazı deyimlerdeki değişiklikler ve ifadelerin ayrıntılarını ve kodun biçimlendirilmesinde değişiklikler de dahil olmak üzere birkaç şekilde değişecektir. WhiteSpace ile ilgili olarak. Herhangi bir sebepten dolayı başarısız olursa, ekleme kodu ölecektir. Bu olası gelecekteki sürümlerinde değişiklik yapacaktır. Ayrıca, basit durumlar için sizin için ön koşullar yaratan etiket ve hat argümanları da vardır. Tabii ki, basit bir deneyden başka bir şey için satır kullanmamalısınız. Enjekte edilecek koddaki sözcük değişkenlerine yönlendirilmemelisiniz, kodun yerleştirildiği yerde aynı adın sözcük değişkenlerine referanslarla değiştirilir. Aynı adın bir değişkeni orada yoksa, bu bir hata. ... ama muhtemelen en azından bir hata olmamalıdır, en azından sözcük olarak sözcük olarak eklenen durumlarda ya da değişkenin tamamen eklenen alt bloğun dışına çıktığında ve yalnızca kapatıldığında Bununla birlikte. Yapılacak / istenen özelliklerim için kaynak kodundaki (en üstte, güzel bir blokta) yorumları inceleyin. Orada herhangi bir özellik olup olmadığını, henüz istediklerinizin herhangi bir özelliği olup olmadığını bildirin. Onlara söz vermeyeceğim, ama onları duymak isterim. Gereksinimler: · Perl


Kod :: Splice İlgili Yazılım

TAO :: DBI :: st

TAO :: DBI :: ST, adlandırılmış yer tutucular için taşınabilir desteğe sahip DBI ifadeleri için perl modülüdür. ...

162

İndirmek