Opérateurs arithmétiques
Les opérateurs arithmétiques de Lua sont:
"+" (ajout):
La copie de code est la suivante:
Imprimer (1 + 2)
"-" (soustraction):
La copie de code est la suivante:
Imprimer (2 - 1)
"*"(multiplication):
La copie de code est la suivante:
Imprimer (1 * 2)
"/"(division):
La copie de code est la suivante:
Imprimer (1/2)
"^" (index):
La copie de code est la suivante:
imprimer (27 ^ (- 1/3))
"%" (modèle):
La copie de code est la suivante:
Imprimer (5% 3)
Opérateurs relationnels
Lua fournit les opérateurs relationnels suivants:
La copie de code est la suivante:
<> <=> = == ~ =
Les opérations renvoyées par les opérateurs ci-dessus sont vraies ou fausses. Les cordes ne peuvent pas être comparées aux nombres
Opérateurs logiques
Les opérateurs logiques incluent et, ou pas
La copie de code est la suivante:
Imprimer (1 et 2)
Imprimer (nil et 1)
Imprimer (False et 2)
Imprimer (1 ou 2)
Imprimer (faux ou 5)
Les opérateurs logiques traitent faux et nul comme faux, et d'autres comme vrais.
Variables et portée locales
LUA crée des variables locales à travers des déclarations locales, et la portée des variables locales est limitée au bloc qui les déclare.
La copie de code est la suivante:
local A, b = 1, 10
Si A <b alors
Imprimer (a)
local A
Imprimer (a)
fin
imprimer (a, b)
La sauvegarde des variables globales avec des variables locales locales peut accélérer l'accès aux variables globales dans la portée actuelle. Pour l'effet d'accélération, comparez le temps d'exécution de la séquence Fibonacci ci-dessous pour calculer:
La copie de code est la suivante:
fonction fibonacci (n)
Si n <2 alors
Retour n
fin
retour fibonacci (n - 2) + fibonacci (n - 1)
fin
io.write (fibonacci (50), "/ n")
Utilisez la variable locale locale locale
La copie de code est la suivante:
fonction locale fibonacci (n)
Si n <2 alors
Retour n
fin
retour fibonacci (n - 2) + fibonacci (n - 1)
fin
io.write (fibonacci (50), "/ n")
Structure de contrôle
Si alors Elseif Else se termine
La copie de code est la suivante:
Si num == 1 alors
Imprimer (1)
elseif num == 2 alors
Imprimer (2)
autre
imprimer ("autre")
fin
Lua ne prend pas en charge les instructions de commutation
Alors que
Jugez d'abord la condition While. Si la condition est vraie, exécutez le corps de la boucle, sinon il finira
La copie de code est la suivante:
local i = 1
Alors qu'un [je] fais
imprimer (a [i])
i = i + 1
fin
répéter
Exécutez d'abord le corps de circulation une fois, puis jugez la condition. Si la condition est vraie, quittez le corps de circulation, sinon continuez d'exécuter le corps de circulation. Semblable aux déclarations à faire dans d'autres langues, le corps de boucle sera exécuté au moins une fois.
La copie de code est la suivante:
local a = 1
répéter
a = a + 1
b = a
Impression (b)
Jusqu'à B <10
pour boucle
Il existe deux formulaires pour les instructions de boucle: numérique pour (numérique pour), générique pour (générique pour)
Numéro de syntaxe:
La copie de code est la suivante:
pour commencer, fin, étape
faire quelque chose
fin
Démarrer est la valeur de démarrage, la fin est la valeur finale, et l'étape est la taille de pas (facultatif, la valeur par défaut est 1)
La copie de code est la suivante:
pour a = 10, 0, -2 do
Imprimer (a)
fin
Un générique pour la boucle traverse toutes les valeurs via une fonction Iterator:
La copie de code est la suivante:
tab = {key1 = "val1", key2 = "val2", "val3"}
pour k, v en paires (onglet) faire
Si k == "key2" alors
casser
fin
imprimer (k .. "-" .. v)
fin
Les instructions Break and Return sont utilisées pour sortir du bloc actuellement exécuté.