parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

оператор typeof

D 20.05.2005 12:35

нужно написать оператор определяющий тип данных. Вот, что вышло:
@typeof[data][break]
$types[^table::create{type
string
int
double
file
hash
table
image
xdoc
junction}]

^menu2[$types;$break]{
	^if($data is "$types.type"){
		$result[$types.type]
		$break(1)
	}
}
# дополнительная проверка строки 
^if($result eq "string" && ^data.int(0)){
	$result[int]
}

^if(!def $result){$result[undefined]}

# end @typeof[]
#------------------------------------------------------------------
не могу понять, как красиво определить тип double... может кто сталкивался...

PS
метод menu2 выводит таблицу с возможностью break (буду, кстати, рад комментариям):
@menu2[table;break;code]
^if($table){
	$caller.$break(0)
	^while(!$caller.$break){
		$code
		^if(^table.line[] == ^table.count[]){$caller.$break(1)}
		^table.offset[cur](1)
	}
}{
	$result[]
}

# end @menu2[]
#------------------------------------------------------------------