[Bioperl-l] Feature/Annotation rollback finished
Scott Cain
cain.cshl at gmail.com
Thu Aug 30 03:59:11 UTC 2007
Hi Florent,
Of course what you wrote below is true, but what Hilmar was writing
about was lazy programmers (like me) who assume that the empty string
and 0 value cases aren't going to happen (because we happen to know they
never should in certain contexts), and so use 'if ($ann)'. Of course,
at the moment, I am in the process of de-lazifying my code (though I
tended to think of it as being efficent :-)
Scott
On Wed, 2007-08-29 at 20:44 -0700, Florent Angly wrote:
> Hilmar Lapp wrote:
> > Keep in mind that code such as
> >
> > if ($ann) { ... }
> >
> > is mostly not b/c someone wanted to use overloading, but rather
> > someone was lazy and really meant to say
> >
> > if (defined($ann)) { ... }
> >
> > In the absence of eq overloading, these will behave identically. So
> > if you leave the exceptions in it is sort-of policing lazy
> > programmers, which I guess is fine in principle, but is guaranteed to
> > trip up a lot of script code. I'd take it out if you're reasonably
> > sure that at least within BioPerl itself those lazy programming
> > incidents are removed.
> if ($ann) { ... }
>
> and
>
> if (defined($ann)) { ... }
>
> are not the same.
>
> if ($ann)
>
> is evaluated false for an empty string like
>
> $ann = '';
>
> and for a value of zero, i.e.
>
> $ann = 0;
>
> while
>
> defined($ann)
>
> returns true in these 2 cases.
>
> Florent
>
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/bioperl-l
--
------------------------------------------------------------------------
Scott Cain, Ph. D. cain at cshl.edu
GMOD Coordinator (http://www.gmod.org/) 216-392-3087
Cold Spring Harbor Laboratory
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <http://lists.open-bio.org/pipermail/bioperl-l/attachments/20070829/27872681/attachment.sig>
More information about the Bioperl-l
mailing list