Zephir Language Parse Exception

Я пытаюсь скомпилировать приведенный ниже код на языке зефир, и это дает мне ошибку Parse. Я не уверен, что я делаю не так.

 public static function calculateDiscrepancy(tpImpr, liImpressions, defaults) {
    var numeratorx = 1-(tpImpr + defaults);
    if numeratorx != 0 && liImpressions != 0 {
          return (double)(numeratorx / liImpressions) * 100;
    }else{
    return 0;
    }
}

ошибка

Zephir\ParseException: Syntax error in /var/www/vhosts/app/advertisingcalculator.zep on line 58

     var numeratorx = 1-(tpImpr + defaults);
-----------------------^

Есть идеи?

1 ответ

Вы можете попробовать это:

let numeratorx = 1 - (tpImpr + defaults);

Редактировать: убраны звездочки. Оставьте пространство между 1 и оператор -и еще один пробел между оператором - и левая скобка (,

var только для объявлений и значение должно быть статическим, тогда вы можете установить динамическое значение с помощью let:

var numeratorx; // or var numeratorx = 1;
let numeratorx = 1 - (tpImpr + defaults);
Другие вопросы по тегам