From: Alex Combas Date: 2006-01-08T16:12:28+09:00 Subject: Re: Demystifying Symbols. I'll be honest, as a rubynewbie I liked Jim's description of variables better than any other description I've heard here so far, and I'm going to go read his post on symbols and see if that jives with me as well. Jim's definition: Variables are like dictionary definitions bound to an object. VarA = VarB = ObjectZ Explanation: If you looked up the definition of VarA in our dictionary it would say 'ObjectZ' and likewise if you looked up the definition for VarB in our dictionary it would say 'ObjectZ'. No, pointer, no container, no pigeon hole or shoebox.. just a strait forward term bound to a definition. This maps nicely to the real world where you can look up the word 'house cat' in a dictionary and find that it maps to 'small domesticated carnivorous mammal', the cat doesn't 'point' to a carnivore in a pigeon hole, and it doesn't 'contain' a carnivore in a shoebox. 'House cat' is simply a term bound to a definition in our dictionary. In this dictionary more than one variable is permitted to be bound to the same object: small_dog = house_cat = 'small domesticated carnivorous mammal' In a real dictionary terms are bound to descriptions, but in the ruby dictionary of variables we would say terms are bound to objects, this boils down to exactly the same thing. Grok? -- Alex Combas http://noodlejunkie.blogspot.com/