At Sat, 5 May 2001 08:41:23 +0900,
John Kaurin wrote:
> Question 1:
> 
> What is generating the nil in the output?

`p a1' in B#b1, because `a1' returns nil which `p "A$a1"' returns.

> Question 2:
> 
> Why does B#b1 recognize A#a1?

It's not the class B but the instance (o) that receives the message
`a1'.  So the answer is, because the `o' has a method called `a1'.

-- 
                     /
                    /__  __            Akinori.org / MUSHA.org
                   / )  )  ) )  /     FreeBSD.org / Ruby-lang.org
Akinori MUSHA aka / (_ /  ( (__(  @ iDaemons.org / and.or.jp

"Freeze this moment a little bit longer, make each impression
  a little bit stronger..  Experience slips away -- Time stand still"