Sekarang, kita semua tahu sebagian besar bahasa memiliki cara yang sangat sederhana untuk "memodifikasi sendiri" kode. Namun, bagaimana jika Anda benar-benar memodifikasi kode dan mengeditnya ... pada disk?
Tujuan Anda adalah membuat kode yang mencetak angka, lalu mengedit file sendiri untuk mengganti nomor dengan yang berikutnya dalam urutan Fibonacci seperti:
$ ./program
1
$ ./program
1
$ ./program
2
$ ./program
3
$ ./program
5
[etc...]
Aturan
- Anda tidak boleh menyimpan nomor "di luar" dari kode. Tidak ada komentar, tidak ada yang memberitahu skrip untuk keluar, tidak ada EOF, dll.
- Jika kode Anda berfungsi dengan nama file apa pun, kurangi 2 dari jumlah byte Anda dan tulis
$BYTESNOW ($ORIGINALBYTES - 2)
di judul Anda. (Nama file diasumsikan berada dalam kisaran jalur file alfanumerik apa pun.) - Kode Anda harus menulis output ke file itu sendiri, tanpa bantuan perpipaan eksternal.
- Kode Anda dapat mulai dari satu atau nol. Itu tidak masalah.
perl6 program
), Atau harus menyertakan baris shebang sehingga dapat disebut sebagai ./program
?
program
, dan dapatkah kita menganggapnya terletak di direktori kerja saat ini?
"a"
alih - alih arg[0]
. Tampaknya tidak sepadan.