概要
遅延インスタンス
内容
初回アクセスまでインスタンス変数を初期化しない。
サンプル
# encoding: utf-8 require "pry" # 通常の初期化 class Hoges def initialize @hoges = {} end def hoges() @hoges end end hoges = Hoges.new.hoges puts hoges.class # 遅延の初期化 class Higes def higes() @higes ||= {} end def puts_higes puts @higes end end higes_obj = Higes.new higes = higes_obj.higes puts higes.class higes[:hige] = "hige" puts higes_obj.puts_higes
出力
Hash Hash {:hige=>"hige"}