I think the keychain analogy has some possibilities.

On Jan 7, 2006, at 7:40 PM, Dave Howell wrote:
> Ruby make a new keychain tagged "sillyNum." There isn't a key on  
> this yet. That's what "nil" is; a keychain without a key.

No.  The new keychain has a single key on it to the mailbox  
containing the object known as nil.

> sillyNum = population + 14 / "5".to_i

How about something a little simpler:

	a = b + 1

Ruby finds the mailbox that matches the key on the keychain labeled b.

There is a slot on the side of the object inside the mailbox.
Ruby makes a copy of the key on the :+ keychain and inserts it in the  
slot.
Ruby makes a copy of the key on the 1 keychain and inserts it in the  
slot.
Ruby then presses a button next to the slot.  The button is labeled  
'send'.
Ruby waits a bit and then a new key clanks as it falls into a bin  
labeled 'return value'.
Ruby attaches the new key to the keychain labeled a, discarding any  
key that was there before.


Gary Wright