Hi --

On Mon, 14 Jul 2008, Srijayanth Sridhar wrote:

> Hello,
>
> Let us say we have a hash:
>
> a = Hash.new
>
> Can I do something of this sort:
>
> class Hash
> def who_am_i?
>   "#{self.symbol}"
> end
> end
>
> Where self.symbol gives me "a"?
>
> I basically want the variable name. I looked a bit and saw that you
> could intern a symbol from a string, but is there an easy way to get
> the name of a variable from within the object itself? I am writing a
> to_xml method for hashes and it would be immensely helpful if I can
> use the name of the variable as the root element.

The hash has no knowledge of how many identifiers refer to it.
Consider this:

   a = Hash.new
   b = a
   c = b

The three identifiers are in exactly the same relation to the hash.
What is the hash supposed to think?


David

-- 
Rails training from David A. Black and Ruby Power and Light:
   Intro to Ruby on Rails  July 21-24      Edison, NJ
   Advancing With Rails    August 18-21    Edison, NJ
See http://www.rubypal.com for details and updates!