Son zamanlarda bir komut dosyası hata ayıklama önemli zaman geçirdim ve nihayet sorunu buldum, bunun gibi görünen kod nedeniyle oldu:
class Foo {
has $.bar;
method () {
# do stuff
$!.bar;
}
}
Sorunun $!.barya $!barda olması gerektiği ile ilgili olduğu ortaya çıktı $.bar. Bunu anladım.
Ama bu neden ölmüyor ?
Daha ayrıntılı olarak bu baktığımızda, burada sorun gibi görünüyor Ben (varolmayan) yöntemini çağırmak çalışıyorum olmasıdır barüzerinde $!bu noktada, Nilherhangi bir hata olmamıştır çünkü.
Aslında ben üzerinde istediğiniz herhangi yöntemini çağırabilirsiniz Ve görünüşe Nilve hepsi sessizce dönüş Nilgibi şeyler de dahil olmak üzere, Nil.this-is-a-fake-methodve Nil.reverse-entropy(123).
Bu bir özellik mi? Eğer öyleyse, mantığı nedir?