回答編集履歴
2
誤字修正
test
CHANGED
@@ -40,7 +40,7 @@
|
|
40
40
|
|
41
41
|
|
42
42
|
|
43
|
-
しかし、文字列
|
43
|
+
しかし、文字列というごく一般的なデータを取り扱うために都度freezeを付けるのは面倒臭い + freezeが必要/不要を考えず、文字列に片っ端からfreezeを付ける実装が跋扈してきたということから、**「そもそもデフォルトで文字列をimmutable(破壊的な変更不可)にしてしまおう」**という方針が、ruby3.0以降で**決定**しています。
|
44
44
|
|
45
45
|
[ [Ruby] Ruby 3.0 の特大の非互換について](http://d.hatena.ne.jp/ku-ma-me/20151004/p1)
|
46
46
|
|
@@ -52,7 +52,7 @@
|
|
52
52
|
|
53
53
|
### frozen_string_literalの対応
|
54
54
|
|
55
|
-
私は原則、rubocopの指針に従ってfronze_string_literal: trueをソースコード内に追加するようにしています。その方が、将来バージョンアップ時の手間が減る(ruby3.0では、frozen_string_literal
|
55
|
+
私は原則、rubocopの指針に従ってfronze_string_literal: trueをソースコード内に追加するようにしています。その方が、将来バージョンアップ時の手間が減る(ruby3.0では、frozen_string_literalは単なるコメントとして扱われる予定)ことと、デフォルトでimmutableにした方が予期せぬバグを抱えにくいからです。
|
56
56
|
|
57
57
|
ただ、config系のファイル、テストコード、migrationファイルはrubocopによるチェックの対象外としています。
|
58
58
|
|
1
サンプルコード修正
test
CHANGED
@@ -18,7 +18,7 @@
|
|
18
18
|
|
19
19
|
str.upcase!
|
20
20
|
|
21
|
-
p
|
21
|
+
print str, str2 # => TESTTEST
|
22
22
|
|
23
23
|
```
|
24
24
|
|