On May 6, 2007, at 1:04 PM, John Joyce wrote:

>
> On May 6, 2007, at 9:41 AM, Gary Wright wrote:
>
>>
>> On May 5, 2007, at 6:02 PM, Rick DeNatale wrote:
>>> On 5/5/07, John Joyce <dangerwillrobinsondanger / gmail.com> wrote:
>>>> What I'd like to do is similar to the idea of processing files and
>>>> outputing results with names of files.
>>>> I want to do the same with objects.
>>>> I wrote an little code block just to talk back to me and tell me if
>>>> an object is tainted or not. ("I'm making it plain English  
>>>> sentences,
>>>> rather than simply true or false)
>>> [..]
>>> Variables are just names for objects, and aren't properties of the
>>> objects themselves.  Objects don't know what folks are calling them.
>>
>> You can't go from an arbitrary object reference to an identifier, but
>> you can go from an identifier to an object reference via eval:
>>
>> a = 42
>> @foo = 'bar'
>> ["a", "@foo", "Array"].each { |id|
>>   puts "#{id} references a #{eval(id).class}"
>> }
>>
>> # output
>>
>> a references a Fixnum
>> @foo references a String
>> Array references a Class
>>
>>
>>
>> Gary Wright
> Gary I think this does what I'm looking for. It's a little hackish  
> to me, but it seems to work.
> I find eval to be one of those less obvious tools. I was just  
> reading up on eval and its cadre of similar methods last night. A  
> very mystical bunch to me still.
>
In fact, I might alias the eval methods as "evil" until I get a grip  
on them.