기술나눔

Lua 시작하기(3) - 변수

2024-07-12

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

Lua는 여러 변수를 할당합니다.

루아 맞아동시에 여러 변수 할당, 변수가 전달되지 않습니다.값으로만 전달


테스트 프로그램:

  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

작업 결과:

지역변수와 전역변수

테스트 프로그램

  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))

실행 결과

할당 명세서

할당 규칙

 
변수 수와 값 수가 일치하지 않는 경우 Lua는 항상 변수 수에 따라 다음 전략을 채택합니다.

a. 변수 개수 > 값 개수에 따라 nil을 보수합니다.
b. 변수 개수 < 값 개수는 무시됩니다.

테스트 프로그램

  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

실행 결과

색인

테스트 프로그램

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

실행 결과