Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

Rubyのバックスラッシュ記法8進数で0-7以外を使うと、バックスラッシュ記法16進数風にパースされる

今回の記事はかなりマニアック……というか、誤爆したときくらいしか使い道が無いですが

使い方

"\022"

は8進数記法です。
比較すれば、このとおり。

"\022" == "\x12"
#=> true

並べて使うこともできますし、

"\022\064"
#=> "\x124"

"\022" + "\064"
#=> "\x124"

と、まぁここまでは良いのですが
ここで、8進数とは違う文字列を突っ込むと

"\022" + "\06L"
#=> "\x12\x06L"

のように、16進数っぽい記法にパースされます。

参考もと