広告
実用性はゼロですが、お遊び感覚でCとperlでやってみた。
Perlの場合
quine.pl
1 2 3 4 5 6 7 8 9 10 11 12 |
$_=q{ q[ * * * * * * * * * * * * * * Hello Quine * * * * * * * * * * ]; print"\$_=q{$_};eval\n"};eval |
実行結果
1 2 3 4 5 6 7 8 9 10 11 12 13 |
$ perl quine.pl $_=q{ q[ * * * * * * * * * * * * * * Hello Quine * * * * * * * * * * ]; print"\$_=q{$_};eval\n"};eval |
Cの場合
quine.c
1 2 |
#define quine(x) main(){return puts(#x"\nquine("#x")");} quine(#define quine(x) main(){return puts(#x"\nquine("#x")");}) |
実行結果
1 2 3 4 |
$ gcc -o quine quine.c $ ./quine #define quine(x) main(){return puts(#x"\nquine("#x")");} quine(#define quine(x) main(){return puts(#x"\nquine("#x")");}) |
広告
広告