Команда ожидания баклажана принимает только числовые литералы в качестве параметров?

Я ненавижу магические числа в своем коде, поэтому я хочу заменить числовые литералы в моих командах ожидания постоянными именами переменных.

Например:

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
Другие вопросы по тегам