parser

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

 

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

fun: а давайте конкурс устроим

Sergey M. 10.07.2005 23:39

правила такие - все участники присылают по одному полезному методу (можно несколько, тогда ваши шансы повышаются), Миша смотрит всё это дело (с отвращением / с восхищением), отбирает самый полезный экземпляр, и помещает его в lib.p (ну это главный приз). Разумеется, при условии что хоть одна работа пройдет "входной ценз" ;)

чтобы долго не тянуть, вот мой кандидат:

Метод получает параметром имя любого объекта, возвращает его тип.
@main[]
$var[^date::now[]]
^typeof[var]


@typeof[test]
^if($test is string){
	^if($caller.$test is void){
		$result[void]
	}{
		^if($caller.$test is junction){
			$result[junction]
		}{
			^try{
				^caller.$test[]
			}{
				$exception.handled(1)
				$result[^exception.comment.mid(4;^exception.comment.length[]-48)]
			}
		}
	}
}{
	^throw[parser.runtime;typeof;parameter must be string]
}