From: Joel VanderWerf Date: 2008-03-28T08:10:51+09:00 Subject: Re: instance_variable_[gs]et Rados�aw Bu�at wrote: > On Thu, Mar 27, 2008 at 9:07 PM, Joel VanderWerf > wrote: >> I've got a couple of methods in library code I use frequently that >> initialize or populate an object from a hash using the loop above. I've >> always thought it was kind of a pain (and inefficient) to have to >> construct a string for each key. > > Does it mean that everyone use/need it? I don't think so. Don't see what that has to do with anything. There's lots of core methods that are rarely used. Have you used Module:protected_method_defined? recently? >> Why couldn't #instance_variable_set be agnostic about whether you refer >> to ivars as "foo" or "@foo" ? I don't see any ambiguity... > > I don't know if it's main reason but AFAIR Ruby internally use > instance variables without "@" character to store additional > information about object (but from Ruby you can't get it). That's a good point, but my suggestion was for #instance_variable_set to map both "foo" and "@foo" to the same entry in the table, namely the entry for "@foo". Hidden entries would remain hidden. > I think that most important is consistent. We use @ in code and the > same goes when we want get value by instance_variable_get method. Maybe. -- vjoel : Joel VanderWerf : path berkeley edu : 510 665 3407