#frozen_string_literal: trueについて

こんにちは!

今回は#frozen_string_literal: trueについてまとめます。

#frozen_string_literal: trueとは

  • 文字列の破壊的変更を無効にするオプション
  • #frozen_string_literal: trueをプログラムの冒頭に書く

無効になる動作例

#forzen_string_literal: true
test = "aaa"
test << "iii"
  • 文字列を破壊的に変更しようとしているため、エラーが出る

おわりに

#frozen_string_literal: trueは今後Rubyが文字列をイミュータブルに変更しようとすることに対しての、準備として記載されることが多いようですが、どうも調べているとRubyは文字列をイミュータブルに変更する予定は無くなった(?)ようです。なので、このオプションを付けているコードを見かけることがありますが、実は必要ないかもしれませんね。

27/100