RubyGold試験の勉強の時に作成した自習問題
・過去に作成したものなのでコードの説明はありません(出来ない…)。
・実行結果をコメントとして記述しています(コード #=> 結果)。
・右往左往しているのでコードにもコメント化している箇所があります。

→ 「他の問題


#! ruby -Ks

#------------------------------------------------------------
# GoldOther004.rb
# ■未定義になる範囲
#------------------------------------------------------------
# →
# ・親クラスのが未定義になるわけではない
# ・クラスメソッドは未定義には出来ない。。。か?


#--------------------------------------------------
# Define
#------------------------------
class Cls1
  def ms1
    "Cls1.new.ms1"
  end

  class << self
    def ms2
      "Cls1.ms2"
    end
  end

end

#------------------------------
class Cls2 < Cls1
  undef ms1
#  undef Cls2.ms2 # syntax error, unexpected '.', expecting keyword_end

end

#------------------------------
class Cls3 < Cls1
end

#------------------------------
class Cls4 < Cls1
  #------------------------------
  undef ms1
  def ms1
  end
end


#--------------------------------------------------
# Execute
#------------------------------
#puts Cls2.new.ms1  # :in `
': undefined method `ms1' for # (NoMethodError)

print Cls4.new.ms1  #=> (何もなし)



#------------------------------------------------------------
# END
#------------------------------------------------------------