型によって動作を分ける分ける


型のゆるいスクリプト言語ですが時には型によって動作を変えたい場合も多いと思います
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を沢山かいていくよりは多分見やすいと思います。