Re: No overload magic

[prev] [thread] [next] [Date index for 2005/02/16]

From: Karjala
Subject: Re: No overload magic
Date: 11:57 on 16 Feb 2005
William Ross wrote:

> In the message you cite the author was trying to perform comparisons 
> on cdbi objects and assuming that ($x > $y) is the same as ($x->id > 
> $y->id). There's no reason why that assumption should be correct: not 
> all classes have a single key, and it's just as likely that you would 
> want to compare some other column or a computed value, so cdbi leaves 
> you to specify your own overloading. You can do that by adding more 
> 'use overload' instructions at the top of your data classes or base 
> class:
>
> use overload
>     '>' => sub { shift->id },
>     '<' => sub { shift->id },
>     '==' => sub { shift->stringify_self },
>     fallback => 1;
>

Very nice... Thanks. That should solve my problems once more.

However just a small comment on the way you used overload... the right 
way would be something like:

    '==' => sub { shift->stringify_self == shift },

and not

    '==' => sub { shift->stringify_self },

The latter returns the key of the object as the truth value of the 
equality, regardless of whether the equality is true or not.
The former would return the truth value of the equality.

No overload magic
Karjala 07:55 on 16 Feb 2005

Re: No overload magic
Karjala 08:01 on 16 Feb 2005

Re: No overload magic
William Ross 10:05 on 16 Feb 2005

Re: No overload magic
Michael G Schwern 11:25 on 16 Feb 2005

Re: No overload magic
Tony Bowden 14:10 on 16 Feb 2005

Re: No overload magic
William Ross 14:20 on 17 Feb 2005

Re: No overload magic
Michael G Schwern 06:43 on 18 Feb 2005

Re: No overload magic
Tony Bowden 08:21 on 18 Feb 2005

Re: No overload magic
Tim Bunce 09:43 on 18 Feb 2005

Re: No overload magic
Karjala 11:57 on 16 Feb 2005

Re: No overload magic
William Ross 13:52 on 16 Feb 2005

Re: No overload magic
Karjala 14:09 on 16 Feb 2005

Re: No overload magic
Michele Valzelli 11:59 on 16 Feb 2005

Re: No overload magic
Ofer Nave 21:53 on 16 Feb 2005

Re: No overload magic
Ken.Olstad 22:00 on 16 Feb 2005

Generated at 11:20 on 20 Feb 2005 by mariachi v0.52