シングルクォートの文字列リテラルで置換されるもの
Rubyでは、シングルクォートでくくられた文字列リテラル '...' の中で使える \ のエスケープは、\\ と \' だけです。そのことを確かめようと思いました。
プログラムで \すべての文字 という形の文字列を作り、evalして長さがいくら減るかを調べます。
s = '\'' (0..255).each do |n| s += '\\' s += n.chr end s += '\'' p eval(s).length #=> 510
512から2減って510になっています。 \\と\'の二つ分。
もっと短く。
p eval('\'' + (0..255).collect {|code| '\\' + code.chr }.join + '\'').length #=> 510