Rubyリファレンス: Home

freeze (Module)

Edit   History

標準クラス・モジュール > Module > freeze

mod.freeze

freezeメソッドは、クラスやモジュールを凍結します。凍結状態のクラスやモジュールにメソッドを追加しようとすると、Ruby 1.8では例外TypeErrorが、Ruby 1.9では例外RuntimeErrorが発生します。

詳しくは、freeze (Object)をごらんください。

class Book
  freeze
end
 
begin
  class Book
    def new_method() end
  end
rescue
  p $!
end
#<TypeError: can't modify frozen class>           (Ruby 1.8)
#<RuntimeError: can't modify frozen class/module> (Ruby 1.9)

関連項目