gsub を使用して二重スラッシュを置き換えるという問題が発生しています。問題はこれです:
YAML ファイルを解析してディレクトリの場所を特定し、それを使用してそのディレクトリ内のファイルをグロブする小さなスクリプトを作成しました。これが見つけたディレクトリだとしましょう:
C:\Program Files\Adobe\Adobe Flash CS3\en\Configuration\ActionScript 3.0\Classes
これは Windows ディレクトリであり、バックスラッシュは YAML パーサーによってエスケープされるため、実際にはパーサーから次のように読み込まれます。
C:\\Program Files\\Adobe\\Adobe Flash CS3\\en\\Configuration\\ActionScript 3.0\\Classes
このディレクトリを使用するために、これらの二重スラッシュを gsub で削除したいと考えました。
path.gsub('\\','/')
この呼び出しは、パス内の二重のバックスラッシュのほとんどを置き換えましたが、スクリプトはまだ機能しませんでした。パスがどうなったかを調べたところ、gsub に置き換えられていないバックスラッシュが 1 つ残っていることがわかりました。
\en
この奇妙な振る舞いを説明するものは何ですか?