34

ruby のオンライン チュートリアルを行っていたところ、この「General Delimited Strings」を見つけました。

%{a word}  # => "a word"
%Q{a word} # => "a word"
%q{a word} # equivalent to single quoted version.

だから私はirbでそれを試しました、そしてこれは私が見るものです

2.0.0p247 :025 > %Q(hi)
 => "hi" 
2.0.0p247 :026 > %q(the)
 => "the" 
2.0.0p247 :027 > %q(th"e)
 => "th\"e" 
2.0.0p247 :028 > %q(th'e)
 => "th'e" 
2.0.0p247 :029 > %Q(h'i)
 => "h'i" 
2.0.0p247 :030 > %Q(h"i)
 => "h\"i"

%q と %Q はどちらも同じように動作し、文字列を二重引用符で囲みます。%{} を使用して同じ出力を得ることができれば、これら 2 つの正確な使用法を誰でも知っています。

4

2 に答える 2

43

それらに関するいくつかのヒントを次に示しますRuby_Programming - The % Notation

%Q[ ] - 補間文字列 (デフォルト)

%q[ ] - 補間されていない文字列 (\ 、 [ および ] を除く)

例 :

x = "hi"
p %Q[#{x} Ram!] #= > "hi Ram!"
p %q[#{x} Ram!] #= > "\#{x} Ram!"
p %Q[th\e] #= > "th\e"
p %q[th\e] #= > "th\\e" # notice the \\ with %q[]

別の優れたリソースPercent Strings

%(...)文字列を作成する以外に、%他のタイプのオブジェクトを作成することもできます。文字列と同様に、大文字は補間とエスケープ文字を許可し、小文字はそれらを無効にします。

于 2013-11-05T06:06:28.877 に答える