фича, конечно
Александр Петросян (PAF) 25.04.2007 00:42
тонкая ;)
^method(100) вы передаёте константу. специально оптимизированный случай.
^method($o) вы передаёте выражение, которое вычисляется внутри метода всякий раз, что вы обращаетесь к параметру.
документации не противоречит ни то ни другое.
согласно документации передаётся выражение, вычисляемое каждый раз.
в этом смысле 100 — замечательное выражение.
соответственно операции над $i суть операции над временной переменной:
@method[expression]
$expression << эта запись эквивалентна этому:
$value[$expression]
$value
применительно к описанному случаю:
@method[expression]
^expression.div(10) << эта запись эквивалентна этому:
$value[$expression]
^value.div(10)
понятно, что операции над $value никак не затрагивают переданный $expression.
вас просто несколько смущает тот факт, что параметр-выражение "автовычисляется".
мы пытались максимально подробно выразить это в документации и привести яркие примеры.
- баг, Maxx [M] 24.04.2007 12:49 / 24.04.2007 12:56
- фича, конечно, Александр Петросян (PAF) [M] 25.04.2007 00:42