Ruby 2.1 の開発に続いて、開発者が文字列リテラルを「凍結」して開始するように指定できるようにする機能が追加される可能性があるという記事を読みました。
構文は次のようになります (末尾の に注意してくださいf
)。
str = "imfrozen"f # str receives a frozen string
他の Ruby ドキュメント/wikiで、この機能が次の利点を提供することを読みました。
これにより、VM は毎回同じ文字列オブジェクトを使用でき、多くのファイルで同じ固定文字列を使用できる可能性があります。また、明らかに、凍結された文字列のすべての不変性保証も提供します。
私の質問は次のとおりです。
- これの利点は何ですか?
- このような機能が価値を提供する実世界の例は何ですか?
- これは a とどう違うの
symbol
ですか?
ありがとうございました