Ruby製バウリンガル
エイプリルフールも終わったのでわんわんをデコードするRuby製バウリンガルを載せてみる。
$KCODE = 'SJIS' require 'zlib' decode_table = { 'わん' => 0, 'きゃん' => 1, 'わおん' => 2, 'わーん' => 3, 'ばう' => 4, 'きゃうん' => 5, 'わう' => 6, 'きゅーん' => 7 } encoded_text = ARGF.readlines.join.gsub(/[\r\n。!]/, "") regexp = Regexp.new(decode_table.keys.join("|")) octets = encoded_text.scan(regexp).map {|octet| decode_table[octet]} compressed_text = octets.each_slice(3).map {|octet| octet.join.to_i(8) }.pack("C*") $>.write(Zlib::Inflate.inflate(compressed_text))