型によって動作を分ける分ける
型のゆるいスクリプト言語ですが時には型によって動作を変えたい場合も多いと思います
id:toytools:20070407 「PHP5でオブジェクトダンプ可能なデバッガ」で使っているテクニックですが
switch( true ){ //STRING case is_string($mixedValue): break; //INT case is_int($mixedValue): break; //FLOAT case is_float($mixedValue): break; //BOOL case is_bool($mixedValue): break; //NULL case is_null($mixedValue): break; //ARRAY case is_array($mixedValue): break; //Exception case ( $mixedValue instanceof Exception ): break; //OBJECT case is_object($mixedValue): break; //OTHER TYPE default: break; }
こんな感じのswitch文でかいてあげると型による動作わけを、すっきり目に書けます。
色々なスクリプト言語で使えるテクニックです。
ifを沢山かいていくよりは多分見やすいと思います。