Aubergines à la commande d'attente accepte uniquement les littéraux numériques comme paramètres?
-
22-12-2019 - |
Question
Je déteste les numéros de magie dans mon code, donc je veux remplacer les littéraux numériques dans mon attente de commandes avec la constante de noms de variables.
Par exemple:
wait 60 //How it is now
wait MAX_HALT_TIME //How I would like it to be
Cependant, j'obtient l'erreur de syntaxe quand je fais ceci:
FAILURE STInvalidParameters Command wait was called with invalid parameters
Passage de la fonction d'attente d'une variable de type entier même possible de l'Aubergine?Ma déclaration de MAX_HALT_TIME
est exact, à ma connaissance, il n'y a pas de raison pour que l'Aubergine ne pouvez pas les traiter MAX_HALT_TIME
que 60 secondes.
put 3 into Universal MAX_HALT_TIME
La solution
Apparemment, l'Aubergine n'est pas d'évaluer mondiale ou universelle des variables jusqu'à ce qu'ils sont appelés.Si la commande d'attente automatiquement vu que la variable passée à la fonction comme une variable et non pas le littéral numérique qu'elle a été assimilée à.
Ma solution à ce problème est d'avoir à évaluer pour un littéral numérique avant que je l'a transmis à la commande d'attente.Je l'ai fait en séparant comment j'ai déclaré ma variable (deux lignes au lieu d'une).
put 3 into universal MAX_HALT_TIME //Before
universal MAX_HALT_TIME //After
put 3 into MAX_HALT_TIME //After