Techioz Blog

Ruby で一重引用符と二重引用符を出力する [重複]

概要

一重引用符と二重引用符の中に単語を出力しようとしています。

だから私は次のようなものを印刷したいです

「それが私の言葉です」

一重引用符と二重引用符を出力したいのです。でもやり方がわからない バックスラッシュを使用しようとしましたが、機能しなかったので、明らかに間違って使用しています

「 '「それは私の言葉です」' ”

解決策

%q と一致する区切り文字を使用すると、複雑なエスケープを使用せずに一重引用符で囲まれた文字列を出力できます。例えば:

puts %q('"That's my word"')

これにより、必要な内容が問題なく標準出力に出力されます。

内部的には、文字列はエスケープされ、二重引用符で囲まれた文字列として保存されます。この表現は String#inspect メソッドまたは Kernel#p メソッドで確認できます。例えば:

p %q('"That's my word"')
#=> "'\"That's my word\"'"

必要に応じて、補間を許可する他の関連リテラル (% や %Q など) も使用できます。