Ahora, todos sabemos que la mayoría de los idiomas tienen formas muy simples de "auto modificar" el código. Sin embargo, ¿qué pasaría si realmente modificara el código y editara partes de él ... en el disco?
Su objetivo es crear un código que imprima un número, luego edite su propio archivo para reemplazar el número con el siguiente en la secuencia de Fibonacci de la siguiente manera:
$ ./program
1
$ ./program
1
$ ./program
2
$ ./program
3
$ ./program
5
[etc...]
Reglas
- No puede almacenar los números "fuera" del código. Sin comentarios, sin decirle al script que salga, sin EOF, etc.
- Si su código funciona con cualquier nombre de archivo, reste 2 de la cantidad de bytes y escriba
$BYTESNOW ($ORIGINALBYTES - 2)
su título. (Se supone que los nombres de archivo están dentro del rango de cualquier ruta de archivo alfanumérica). - Su código debe escribir la salida en el archivo por sí mismo, sin ninguna ayuda de tubería externa.
- Su código puede comenzar desde uno o cero. No importa.
perl6 program
), o tiene que incluir la línea shebang para que pueda llamarse como ./program
?
program
, y podemos suponer que se encuentra en el directorio de trabajo actual?
"a"
lugar de hacerlo arg[0]
. No parece que valga la pena.