Partage de technologie

Premiers pas avec Lua (3) - variables

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Lua attribue plusieurs variables

Lua, c'est vraiAttribuer plusieurs variables en même temps, aucune variable ne sera transmise,Ne transmettre que par valeur


programme d'essais :

  1. Lua 对多个变量同时赋值,不会进行变量传递,仅做值传递:
  2. 测试程序:
  3. -- 对多个变量同时赋值不会进行变量传递,仅做值传递
  4. a ,b = 0,1
  5. a,b = a+1,a+1
  6. print(a,b) -- 输出 1, 1
  7. a ,b = 0,1
  8. a,b = b+1,b+1
  9. print(a,b) -- 输出 2, 2
  10. a ,b = 0,1
  11. a = a+1
  12. b = a+1 -- 不同时赋值就可以
  13. print(a,b) -- 输出 1, 2

résultat de l'opération :

variables locales et variables globales

programme d'essai

  1. a = 5
  2. local b = 1
  3. function joke()
  4. c = 5 -- 全局
  5. local d = 6
  6. end
  7. print(c,d)
  8. joke()
  9. -- print(c,d)
  10. -- 注意"nil" 也要加上 "" 匹配
  11. print("c = " .. (c or "nil") .. " d =" .. (d or "nil"))
  12. print("c = " .. tostring(c) .. " d = " .. tostring(d))
  13. do
  14. local a = 6 -- 这里的a是局部变量,区别于外部的全局变量a
  15. b = 6 -- 对局部变量b进行赋值
  16. print("局部里面 a = " .. tostring(a) .. " b = " .. tostring(b))
  17. end
  18. print("局部外面 a = " .. tostring(a) .. " b = " .. tostring(b))

résultat en cours d'exécution

déclaration d'affectation

Règles d'affectation

 
Lorsque le nombre de variables et le nombre de valeurs sont incohérents, Lua adoptera toujours la stratégie suivante basée sur le nombre de variables :

a. Nombre de variables > nombre de valeurs Complétez nul en fonction du nombre de variables.
b. Le nombre de variables < nombre de valeurs sera ignoré.

programme d'essai

  1. a, b, c = 0, 1
  2. print(a,b,c) --> 0 1 nil
  3. a, b = a+1, b+1, b+2 -- value of b+2 is ignored
  4. print(a,b) --> 1 2
  5. a, b, c = 0
  6. print(a,b,c) --> 0 nil nil

résultat en cours d'exécution

indice

programme d'essai

  1. site = {}
  2. site["key"] = "mxjun nice!"
  3. print(site["key"])
  4. print(" ======================= ")
  5. print(site.key)

résultat en cours d'exécution