2

文字列"this is a \#test"を取得し、それを Python シェルにドロップすると、 が返さ'this is a \\#test'れます。これは、私が探している動作です。しかし、それを Ruby シェルにドロップする"this is a #test"と、バックスラッシュが存在したことを示すものは返されません。Ruby の文字列を Python のように、つまり # 記号を自動的にエスケープせずに動作させるにはどうすればよいですか?

4

2 に答える 2

2

エスケープ シーケンスを解釈したくない場合は、一重引用符を使用します。

[1] pry(main)> 'this is a \#test'
=> "this is a \\#test"

単一引用符も文字列補間を行わないため、両方が必要な場合は、スラッシュを手動でエスケープできます。

[1] pry(main)> t = "test" ; "this is a \\##{t}"
=> "this is a \\#test"
于 2013-10-06T15:23:44.287 に答える
2

二重引用符の代わりに単一引用符を使用してください。

'this is a \#test'

バックスラッシュが含まれます。Ruby では"文字列のみが置換とエスケープを行います。文字列'のみエスケープ\\\

于 2013-10-06T15:23:55.840 に答える