Artık hepimiz biliyoruz ki çoğu dilde "kendini değiştirmek" için çok basit yollar var. Ancak, kodu gerçekten değiştirip diskin bazı bölümlerini ...
Amacınız bir sayı yazdıran kod oluşturmak ve daha sonra sayıyı Fibonacci dizisindeki bir sonraki ile değiştirmek için kendi dosyasını düzenler:
$ ./program
1
$ ./program
1
$ ./program
2
$ ./program
3
$ ./program
5
[etc...]
kurallar
- Kodun "dışında" sayılarını kaydedemezsiniz. Yorum yok, betiğin çıkmasını söyleme yok, EOF yok, vb.
- Kodunuz herhangi bir dosya
$BYTESNOW ($ORIGINALBYTES - 2)
adıyla çalışıyorsa , bayt miktarınızdan 2 çıkartın ve başlığınıza yazın. (Dosya adlarının herhangi bir alfasayısal dosya yolu aralığında olduğu varsayılır.) - Kodunuzun, dış boru hattı yardımı olmadan çıktıyı tek başına dosyaya yazması gerekir.
- Kodunuz bir veya sıfırdan başlayabilir. Önemli değil.
perl6 program
) Çevirerek programı çağırmaya izin veriliyor mu veya olarak adlandırılabilmesi için shebang satırını içermesi gerekiyor ./program
mu?
program
mi ve geçerli çalışma dizininde olduğunu varsayabilir miyiz?
"a"
bunun yerine daha kolay yap arg[0]
. Buna değmez.