parser

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

 

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

Ответ

Pavel Zagrebelin 26.08.2004 14:24 / 26.08.2004 16:08

Не знаю. Но если верить документации, то конструкция вида
^init[
  $.param1[blabla]
  $.param2[blablabla]
]
передаёт параметром хеш с ключами .param1 и .param2

Вдогонку полезный метод:
# Возвращает тип переменной
@typeof[var]
$result[]
^if($var is date){$result[date]}
^if($var is file){$result[file]}
^if($var is hash){$result[hash]}
^if($var is hashfile){$result[hashfile]}
^if($var is table){$result[table]}
^if($var is int){$result[int]}
^if($var is double){$result[double]}
^if($var is image){$result[image]}
^if($var is xnode){$result[xnode]}
^if($var is bool){$result[bool]}
^if($var is xdoc){$result[xdoc]}
^if($var is string){$result[string]}

^if($result eq ""){
^try{
	^rem{*** все мои классы могут про себя сами сказать, что они такое ***}
	$result[^var.typeof[]]
}{
	^rem{*** А если это не мой класс, то и наплевать ***}
	^if($exception.type eq "parser.runtime" && $exception.source eq "typeof"){
		$exception.handled(1)
	}
}
}

^if($result eq ""){
	^rem{*** Нифига не подошло: не знаем, что это такое ***}
	$result[unknown]
}
### End @typeof[]