Techioz Blog

Rubyで文字列の前にあるプラスの役割は何ですか?

概要

次のようなコードがあります

value = +"#{x}/part"
value << "/part2"

value には valueOfX/part/part2 のようなものが含まれることは理解していますが、文字列の前に + がある理由がわかりません。検索してみましたが、検索エンジンは「文字列の前にルビを付ける」の意味を理解するのが苦手です。また、これをオンラインのRuby Replで実行しようとしましたが、+を追加しても追加しなくても違いはありませんでした。

そこで疑問なのは、なぜこのように + があると便利なのかということです。

解決策

ソース: https://ruby-doc.org/core/String.html#method-i-2B-40

したがって、あなたの場合、文字列は凍結されていないため、コードは次と同等になります。

value = "#{x}/part"

編集:

コメントで @stefan が説明したように、Ruby 2.x では、補間された文字列は、frozen_string_literal: true で凍結されました。したがって、value = +“#{x}/part” は value = “#{x}/part” と同等ではありません。 Ruby 3 ではもうそうではありません。