class First
def initialize
puts ‘in First class’+self.inspect
end
end
class Second < First
def initialize
super
puts ‘in second class’+self.inspect
end
end
     So is #Second:0xb7f61820 always means from where I call the
def? I did not understand it
self is the current object (in this case the object just constructed by
new).
The output of inspect does not change depending on where inspect is
called
from, nor does the value of self change when you call super.
In other words: if you call self.inspect and self is an object of class
Second, you’ll call Second#inspect which, unless overridden, will return
“#Second:bla”, and if you call Second.new, self will indeed be an
object
of class Second.
HTH,
Sebastian
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.