Ora, sappiamo tutti che molte lingue hanno modi molto semplici di "auto-modificare" il codice. Tuttavia, cosa succederebbe se dovessi modificare effettivamente il codice e modificarne parti ... su disco?
Il tuo obiettivo è creare un codice che stampa un numero, quindi modifica il suo file per sostituire il numero con quello successivo nella sequenza di Fibonacci in questo modo:
$ ./program
1
$ ./program
1
$ ./program
2
$ ./program
3
$ ./program
5
[etc...]
Regole
- Non è possibile memorizzare i numeri "al di fuori" del codice. Nessun commento, nessun ordine di chiusura dello script, nessun EOF, ecc.
- Se il tuo codice funziona con qualsiasi nome di file, sottrai 2 dalla quantità di byte e scrivi
$BYTESNOW ($ORIGINALBYTES - 2)
nel titolo. (Si presume che i nomi dei file rientrino nell'intervallo di qualsiasi percorso di file alfanumerico.) - Il tuo codice deve scrivere l'output sul file da solo, senza alcuna assistenza di piping esterna.
- Il tuo codice può iniziare da uno o zero. Non importa
perl6 program
) O deve includere la linea shebang in modo che possa essere chiamata come ./program
?
program
, e possiamo supporre che si trovi nella directory di lavoro corrente?
"a"
invece di arg[0]
. Non ne vale la pena.