Hi Aleksander,

> If you write it as:
> 
> $result = $num->withScale(4)->add($num2);
> 
> it's not an extra line anymore. I also think that withScale() use will be 
> rare, as we have the scale in constructor.
> 
> I think the intention is more clear here, and I think it applies to all cases 
> you mentioned, including div or pow. If you know you need to change the scale 
> just add ->withScale(X) before.

Ah, that's right. I wonder why I forgot about method chaining. Update RFC. If 
we miss something and $scale is needed, I can always revert the RFC.


> I'm not sure I like this. Maybe we should be more strict here and treat the 
> $scale in constructor (and later withScale()) as the actual scale for all 
> operations.
> 
> So, in the case above I'd expect ->scale to be 2, and ->value to be '2.46'. 
> If I wanted $num to have a scale that may change, I'd not define it in the 
> first place. Does that make sense?
> 
> ps. that also means withScale(null) should be possible.

I see, that may indeed make sense. Now here we have three choices about it. In 
fact, if want to behave like the current RFC, we can do it by calculating as 
`$num + new Number($str)`.
Yeah, I'll fix the RFC for this.

Regards.

Saki

Reply via email to