Rubyで文字列をラップする二重引用符と一重引用符の違い

目次:

        序文

        文字列を出力するにはそれぞれ "" と '' を使用します

        文字列を出力し、エスケープ文字を追加するには、それぞれ「" と '' を使用します」

        まとめ

序文:

Ruby では、文字列は "" および '' ラッパーを使用してラップできます。似ていると思う読者もいるかもしれませんが、結局のところ、「」と''は文字列で囲まれていますが、それを囲む文字が異なります。この章では、文字列をラップするために "" を使用する場合と '' を使用する場合の違いについて詳しく説明します。

文字列を出力するには、それぞれ "" と '' を使用します。

まずは例を見てみましょう。"" で囲まれた文字列と '' で囲まれた文字列を出力する場合の効果です。

"" で囲まれた文字列を出力します。

print("Hello Ruby")

''で囲まれた文字列を出力します。

print('Hello Ruby')

これら 2 つの文字列をそれぞれ print メソッドで出力しますが、実行すると結果は同じで、どちらも「Hello Ruby」となります。

文字列を出力し、エスケープ文字を追加するには、それぞれ "" と '' を使用します。

しかし、改行を表すためにこれら 2 つの文字列の末尾にエスケープ文字「\n」を追加すると、2 つの異なる結果が得られます。

"" で囲まれた文字列を出力します。

print("Hello Ruby\n")

''で囲まれた文字列を出力します。

print('Hello Ruby\n')

これら 2 つの文字列の出力を見てみましょう。

""で囲まれた文字列の結果を出力します。

出力: こんにちはRuby

''で囲まれた文字列の結果を出力します。

出力: こんにちは Ruby\n

上記より、""で括られた文字列にエスケープ文字が含まれている場合、エスケープ文字はエスケープされます。ただし、'' を使用して文字列をラップする場合、文字列にエスケープ文字が含まれている場合、エスケープ文字はエスケープされず、エスケープ文字が文字列の一部として設定されます。変数を使用してこれら 2 つの文字列を保存および出力する別の例を見てみましょう。

ここでは、「」パッケージを格納する文字列変数を作成します。次の図に示すように、この変数は「a」と呼ばれます。

a = "Hello Ruby\n"

次に、print メソッドを使用して出力します。

a = "Hello Ruby\n"
print a

出力をもう一度見てみましょう。

出力: こんにちはRuby

次に、'' を使用して文字列をラップし、上記の類似に従って結果を出力します。

a = 'Hello Ruby\n'
print a

出力: こんにちは Ruby\n

このことから、上記の例は 2 つの文字列を直接出力するのと同じ効果があることがわかります。

まとめ:

上記の例を読むと、「」で囲まれた文字列内のエスケープ文字はエスケープされるが、'' を使用している文字のエスケープ文字は文字列の一部であるため、エスケープされず、単一のエスケープ文字がエスケープされるという結論を導き出すことができます。弦。これは、Ruby で文字列をラップするために "" を使用することと、文字列をラップするために '' を使用することの違いです。この記事がお役に立てば幸いです。

おすすめ

転載: blog.csdn.net/m0_68824353/article/details/126022128