%q

%q

解説

文字列をあらわすリテラル。


文字列の中に、 " や ' がたくさんあらわれる時に使うと、

エスケープシーケンスを減らすことができる。

また、複数行にわたって書くこともできる。


要素全体をくくる記号には、英数字以外の記号が使用できるが、

()、[]、{}、<>を使うのが一般的のようである。


ちなみに、「%Q」と大文字の場合は、式展開が有効となる。

次の二つの文字列は等価である。

str1 = "The Object-Oriented Scripting Language \"Ruby\""
str2 = %q[The Object-Oriented Scripting Language "Ruby"]

なお、次のように、式展開の中に文字列をくくる記号が入っていたとしても、

正しく解釈されるので心配する必要はない。

array = ["Hello world!!"]

print %Q[
  #{ array[0] }
]
print %Q(
  #{ (1 + 2) * 3 }
)
  • 2006/02/12 22:05:17 %[]
  • 2006/02/12 22:12:07 %q