Ruby でマジックコメントの frozen_string_literal を使ってみる
Ruby
Published: 2019-07-09

やったこと

Ruby でマジックコメントの frozen_string_literal を使ってみます。

確認環境

$ ruby --version
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin17]

調査

test.rb

# frozen_string_literal: true

a = 'abc'

puts a.frozen?

puts a.upcase

# 例外が発生します
puts a.upcase!

出力結果

$ ruby test.rb
true
ABC
Traceback (most recent call last):
	1: from ruby-frozen.rb:9:in `<main>'
ruby-frozen.rb:9:in `upcase!': can't modify frozen String (FrozenError)

参考