Params
Передача параметров | |
Параметры могут передаваться в разных скобках и, соответственно, будут по-разному обрабатываться:
(выражение) | - вычисление параметра происходит при каждом обращении к нему внутри вызова метода | ||
[код] | - вычисление параметра происходит один раз перед вызовом метода | ||
{код} | - вычисление происходит при каждом обращении к параметру внутри вызова метода |
Пример на различие скобок, в которых передаются параметры:
@main[]
$a(20)
$b(10)
^sum[^eval($a+$b)]
<hr>
^sum{^eval($a+$b)}
@sum[c]
^for[b](100;110){
$c
}[<br>]
Здесь хорошо видно, что в первом случае код был вычислен один раз перед вызовом метода sum, и методу передался результат кода - число 30. Во втором случае вычисление кода происходило при каждом обращении к параметру, поэтому результат менялся в зависимости от значения счетчика.
Параметров может быть сколь угодно много или не быть совсем. Если в однотипных скобках несколько параметров, то они могут отделяться друг от друга точкой с запятой. Допустимы любые комбинации различных типов параметров.
Например…
^if(условие){когда да;когда нет}
…эквивалентно…
^if(условие){когда да}{когда нет}
Copyright © 1997?2004 Art. Lebedev Studio | http://www.artlebedev.ru | Дата обновления: 03.12.2002 |