Команда ожидания баклажана принимает только числовые литералы в качестве параметров?
Я ненавижу магические числа в своем коде, поэтому я хочу заменить числовые литералы в моих командах ожидания постоянными именами переменных.
Например:
wait 60 //How it is now
wait MAX_HALT_TIME //How I would like it to be
Тем не менее, я получаю следующую синтаксическую ошибку при этом:
FAILURE STInvalidParameters Command wait was called with invalid parameters
Возможна ли передача функции ожидания целочисленной переменной в Eggplant? Моя декларация MAX_HALT_TIME
правильно, насколько мне известно, поэтому не должно быть никаких причин, почему баклажаны не могут лечить MAX_HALT_TIME
как 60 секунд.
put 3 into Universal MAX_HALT_TIME
1 ответ
Очевидно, Eggplant не оценивает глобальные или универсальные переменные, пока они не будут вызваны. Таким образом, команда wait автоматически увидела, что переменная передается функции как переменная, а не числовой литерал, которому она приравнена.
Мое решение этого состояло в том, чтобы сделать его числовым литералом до того, как я передал его в команду ожидания. Я сделал это, разделив, как я объявил свою переменную (состоит из двух строк вместо одной).
put 3 into universal MAX_HALT_TIME //Before
universal MAX_HALT_TIME //After
put 3 into MAX_HALT_TIME //After