On 2010-06-14 17:21:00 -0700, Caleb Clausen said:

> On 6/14/10, Rein Henrichs <reinh / reinh.com> wrote:
>> On 2010-06-14 14:48:36 -0700, Roger Pack said:
>> 
>>> I read this once:
>>> 
>>> Operator ||= can be shorthand for code like:
>>> x = "(some fallback value)" unless respond_to? :x or x
>>> 
>>> How would that look like exactly, in shorthand, any guesses?
>>> -r
>> 
>> The expression:
>> 
>> a ||= b
>> 
>> is equivalent to:
>> 
>> a || a = b
>> 
>> in most cases. To be pedantic, it is actually:
>> 
>> (defined?(a) && a) || a = b
> 
> Except if there's a method named a, defined?(a) returns "method", so
> this still isn't exactly equivalent. Ruby is tricksy.

Yes, thank you for your meta-pedantry ;)

It is not actually implemented as such but the behavior is very similar.

-- 
Rein Henrichs
http://puppetlabs.com
http://reinh.com