That was a very clear explenation!.

the :constants is some heavy powerlifting for the compiler/interpreter. btw, 
what happens if more modules would do that. Is the interpeter just passing 
every bit of string to all the subs reference in that hash ? can two modules 
grab the same data and mess up the thing? will only the first in the hash been 
used? will they be nested, who comes first ?

First I was a bit confused at what all the different branchings were about in 
the constructor, but now I see where they are comming from... and why needed.

Back to your code, line 198:

  if (@_ >= 2)

Why not check for 

  if (@_ == 2)

?

it should have only two arguments to construct a fraction from calling 
Number::Fraction->new(1, 2);

Why would you allow it to pass other arguments?


Op 2 mei 2013, om 15:22 heeft Dave Cross het volgende geschreven:

> Quoting "Th. J. van Hoesel" <th.j.v.hoe...@gmail.com>:
> 
>> However, can someone point me out what is happening between lines 132 and 
>> 144 of Fraction.pm ? This part is the neatest part of the module, where it 
>> enables the module to use constants in your Perl programs.
> 
> I don't know if it's any help, but I've just rediscovered (and republished) 
> the article that I wrote explaining how Number::Fraction works.
> 
>  http://perlhacks.com/articles/perl-com/overloading-perl-objects/
> 
> Cheers,
> 
> Dave...

Reply via email to