akkun_choi pedia
(1722 keywords)

よく使われているタグ

akkun_choiのお気に入り

  • 阿部道浩の【思いつくままに】百科 阿部道浩の【思いつくままに】百科
  • マインディア開発者からのお知らせ マインディア開発者からのお知らせ
  • 醤油辞典~うまいしょうゆ大好き!醤油マニア デイヴィッドのブック 醤油辞典~うまいしょうゆ大好き!醤油マニア デイヴィッドのブック
  • さっち☆のブック さっち☆のブック

akkun_choi pediaのメンバー

  • akkun_choi akkun_choi
  • 西小倉パンデイロ 西小倉パンデイロ
  • tsucchon tsucchon
  • 須田健太郎 須田健太郎

quineの履歴

自分自身を吐き出すコードのとこ

以下のような構成でつくると自己生成するコードになる

コードの前半部
コード後半部埋め込みリテラル
コード後半部
mainコード
前半部を出力
後半部リテラル内容をリテラル形式に変換して出力
後半部をリテラルから出力
ユーティリティコード
リテラル形式変換
...

http://d.hatena.ne.jp/bellbind/20081101/1225491517

PHPquine

<?php
$str = array(
    'echo "<?php\n\$str = array(\n";',
    'array_walk($str, \'hoge\');',
    'echo ");\n";',
    'echo join("\n", $str) . "\n";',
    'echo "?>";',
    'function hoge($s){echo "    \'".str_replace(chr(0x27), chr(0x5c).chr(0x27), $s)."\',\n";}',
);
echo "<?php\n\$str = array(\n";
array_walk($str, 'hoge');
echo ");\n";
echo join("\n", $str) . "\n";
echo "?>";
function hoge($s){echo "    '".str_replace(chr(0x27), chr(0x5c).chr(0x27), $s)."',\n";}
?>


前半と後半に分けて変換関数で再現。「'」とか「\」を文字コードで扱う