Edited at

とにかく`frozon_string_literal` をぶっ込みまくる

More than 1 year has passed since last update.


おさらい


:snowflake: freeze

コード中の文字列リテラルのうち、それ自体を破壊的に変更されたくない場合、freeze メソッドを使って、immutableにすることができる。


:hash: マジックコメント frozon_string_literal

けれど、毎度毎度、そういった文字列リテラルにfrozonを書くのは面倒。

そこでRuby 2.3から取り入れられたのが、frozon_string_literalというマジックコメント。これを先頭行に以下のように追加することで、そのファイル中の文字列リテラルは全てfreezeが呼ばれたのと同じ状態になる。


とにかくマジックコメントをぶっ込みまくる

ということで、とりあえず全部にぶっ込んでみた。

$ find ./lib -type f -name '*.rb' -exec sed -i '.back' -e '1i\

\# frozen_string_literal: true'
-e '1G' {} \;

これで先頭行にマジックコメントが追加できた。

あとはゴミを始末する。

$ find ./lib -type f -n '*.back' -exec rm {} \;