[EMAIL PROTECTED]:
> Why not:
> 
> $dur1 = new DT::Dur( days => 2 );
> $dur2 = new DT::Dur( months => 1 );
> $dur3 = $dur1 - $dur2;
> $dur3->add( days => 3 );
> 
> If you add $dur3 to a date, it would add 2 days and
> subtract a month, then add 3 days again.

I love that this "does the right thing". However, I don't see why it cannot be
built into the constructor using negative values.

The real snag is ordering, but this can be handled properly within the
constructor (and adequately documented, not only for the constructor but for the
general case).

So, yes, the implication is that:

  $dur = DT::Dur->new(days => 2, months => -1);

would indeed behave differently than:

  $dur = DT::Dur->new(months => -1, days => 2);

So long as the behavior (intrinsic to durations) is well documented I think it
stands to save lots of typing later.

Matt


Reply via email to