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

→ 「他の問題


#! ruby -Ks

#------------------------------------------------------------
# GoldOther008.rb
# ■SuperのSuperあるか
# → ない。また、superが親クラスを指すワケでもない
# → ●親クラスのメソッドを使用するには?
#------------------------------------------------------------


#--------------------------------------------------
# Define
#------------------------------
class Cls1

  def foo
    "Cls1#foo"
  end

end

#------------------------------
class Cls2 < Cls1

  def foo
    "Cls2#foo"
  end

  def bar
    "Cls2#bar"
  end

end

#------------------------------
class Cls3 < Cls2

  def foo
    super.super + "Cls3#foo"
  end

  def bar
    super.foo
  end

end


#--------------------------------------------------
# Execute
#------------------------------
#puts Cls3.new.foo  # :in `foo': undefined method `super' for "Cls2#foo":String (NoMethodError)
                    # :in `
'
#puts Cls3.new.bar   # :in `bar': undefined method `foo' for "Cls2#bar":String (NoMethodError)
                    # :in `
'


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