タグ

ブックマーク / shinh.hatenablog.com (2)

  • Brainfuck interpreter in Ruby's Regexp - 兼雑記

    Ruby の正規表現だけで Brainfuck インタプリタを作ることができました。正規表現の実行は =~ だけなので、ループなども正規表現の内部で実行してます。 https://github.com/shinh/hack/blob/master/bf_rb_reg/bf.rb つまりどういうことができるかというと、 BF_REG という Regexp と BF_SUFFIX という文字列定数があって、 bf という文字列に格納された Brainfuck のコードを BF_REG =~ bf + BF_SUFFIX で実行することができます。出力は $~['o0'], $~['o1'], ... に入っているので、 output = '' 256.times do |i| o = $~["o#{i}"] break if !o output += o end 的なコードで取り出すことができ

    Brainfuck interpreter in Ruby's Regexp - 兼雑記
    Cherenkov
    Cherenkov 2016/10/17
    正規表現
  • hh.gif - 兼雑記

    7割くらい書いたところで存在を忘れていました。 http://slashdot.jp/sp/binary2008/bin2008_shinh.shtml 何かに使えることがあるかもだから(無いと思うが) com2txt 書いとくかーと書いたのでした。オリジナルの com2txt は短すぎないか。 base64 よりはちょっとデコードしやすそうなフォーマットだとはいえ。ただうちでは動かんかったのだけど。 でまぁ com2txt だけじゃつまらないのでどうでもいいネタをしょぼしょぼしこんだのでした。 以下解答。 ruby hh.gif > hh_ruby.comとかで出てきたファイルは ASCII のみで表現された Happy Hacking! と出力する COM ファイル オリジナルの GIF ファイルを出力する Ruby スクリプト オリジナルの GIF ファイルを出力する Perl スク

    hh.gif - 兼雑記
    Cherenkov
    Cherenkov 2010/06/04
    Happy Hacking! 変態 Ruby/Perl/Python/Haskellのコードを混ぜてCOMファイルにしてアニメGIFに?
  • 1