Maybe this is a stupid question, but I can't figure it out. I have a "feeling" why main is self during execution of the block. But I don't have a solid explanation for it.
It seems that the question who is self depends on the context where the block is defined. Is this right?
Can anyone explain it to me?
?> class Klass
?> def yld
?> yield
?> end
>> end
>>
>> o1 = Klass.new
>> o2 = Klass.new
>>
?> o1.yld {
?> o2.yld {
?> p self
?> }
>> }
main