Agora, todos sabemos que a maioria dos idiomas possui maneiras muito simples de "auto-modificar" o código. No entanto, e se você realmente modificar o código e editar partes dele ... no disco?
Seu objetivo é criar um código que imprima um número e, em seguida, edite seu próprio arquivo para substituir o número pelo próximo na sequência de Fibonacci, da seguinte maneira:
$ ./program
1
$ ./program
1
$ ./program
2
$ ./program
3
$ ./program
5
[etc...]
Regras
- Você não pode armazenar os números "fora" do código. Sem comentários, sem dizer ao script para sair, sem EOF, etc.
- Se o seu código funcionar com qualquer nome de arquivo, subtraia 2 da quantidade de bytes e escreva
$BYTESNOW ($ORIGINALBYTES - 2)
no título. (Presume-se que os nomes de arquivos estejam dentro do intervalo de qualquer caminho alfanumérico do arquivo.) - Seu código deve gravar a saída no arquivo por si próprio, sem qualquer assistência de tubulação externa.
- Seu código pode começar de um ou zero. Não importa.
perl6 program
) ou precisa incluir a linha shebang para que possa ser chamada como ./program
?
program
, e podemos assumir que ele está localizado no diretório de trabalho atual?
"a"
em vez de arg[0]
. Não parece valer a pena.