On 22/02/15 18:37, Zeev Suraski wrote:
> Variant* calc(Variant& val1, Variant& val2) {
>    if(val1.isInt() ) {
>         // type checking
>         if (!val1.coerceToInt()) {
>           throw new RuntimeError()
>         }
>         If (!val2.coerceToInt()) {
>           throw new RuntimeError();
>         }
> 
>         // function body begins here
>         int result = Variant(val1.intValue() + val2.intValue());
>         return result;
> }

A more practical example would be to replace coerceToInt() with
inRange() which includes an int check/'coerce' as part of the range
check, and produce a number of errors based on the result.

-- 
Lester Caine - G8HFL
-----------------------------
Contact - http://lsces.co.uk/wiki/?page=contact
L.S.Caine Electronic Services - http://lsces.co.uk
EnquirySolve - http://enquirysolve.com/
Model Engineers Digital Workshop - http://medw.co.uk
Rainbow Digital Media - http://rainbowdigitalmedia.co.uk

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to