За документы :
Переменные по умолчанию являются неизменяемыми. Это означает, что Zephir ожидает, что большинство переменных останутся неизменными. Переменные, которые сохраняют свое начальное значение, могут быть оптимизированы компилятором до статических констант. Когда необходимо изменить значение переменной, необходимо использовать ключевое слово let.
Другими словами, ваше предположение кажется правильным. Причина, по которой опубликованный вами пример использует var
, заключается в том, что это начальные назначения , а не переназначения . В этом контексте неизменность означает, что Zephir ожидает, что переменные сохранят свои первоначальные значения.