Какая разница между вар и зефиром - PullRequest
0 голосов
/ 01 марта 2020

Я прочитал документацию Зефира (https://docs.zephir-lang.com/0.12/en/types) и не уверен, что понимаю разницу между var и let в Зефире. Сначала я подумал, что, возможно, var только объявляет переменную, и если вы хотите присвоить ее чему-то, вы должны использовать let. Но потом я увидел следующие строки в документации:

var a = false, b = true;
var number = 5.0, b = 0.014;

и теперь я совершенно сбит с толку.

1 Ответ

1 голос
/ 01 марта 2020

За документы :

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

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

...