「スーパー」を呼び出すことができる場合とできない場合を理解するのに少し苦労しています。以下の例では、スーパーメソッドはスーパークラスエラーなしになります。
class Bacterium
def eats
puts "Nam"
end
end
class Bacterium
def eats
super # -> no superclass error
puts "Yam"
end
end
b = Bacterium.new
b.eats
しかし、これは機能します:
class Fixnum
def times
super # -> works
puts "done"
end
end
5.times { |i| puts i.to_s }
5はFixnumのインスタンスだけではありません。そして、私は上記のバクテリアの例のように既存の方法を再定義していませんか?