学习视频

基本语法

  1. -- 全局变量
  2. a = 1
  3. -- 局部变量
  4. local b = 2
  5. print(a)
  6. -- 未声明过的变量,值为 nil
  7. print(c)
  8. -- 多重赋值
  9. c,d = 3,4
  10. print(c,d)
  11. -- 数据类型:数值型
  12. e = 5
  13. -- 数据类型:字符串
  14. f = "hello,word"
  15. g = 'hello,world!'
  16. print(f,g)
  17. -- 多行字符
  18. h = [[
  19. abc
  20. edc
  21. asd
  22. ]]
  23. print(h)
  24. i = tostring(10)
  25. j = tonumber("10")
  26. -- 转换失败,值为 nil
  27. k = tonumber("asd")
  28. print(k)
  29. -- 字符串长度
  30. print(#i)

函数

  1. function function_name1(a, b, c)
  2. print(a, b, c)
  3. -- 可以有多个返回值
  4. return a, b
  5. end
  6. function_name2 = function (a, b)
  7. -- body
  8. end
  9. -- print 的值为 1 2 nil
  10. local d,e = function_name1(1, 2)

数组

  1. a = {1, "123", 2, {}, function() end}
  2. -- 下标从 1 开始
  3. print(a[1])
  4. a[6] = 123
  5. -- 数组的长度
  6. print(#a)
  7. -- 在数组后面插入元素
  8. table.insert(a, "value")
  9. -- 在指定索引位置插入元素,后面的元素索引后移
  10. table.insert(a, 1, "v")
  11. -- 移除指定下标的元素,并返回移除的元素
  12. b = table.remove(a, 1)
  13. -- 下面两个暂时不知道用法
  14. table.gsort(a, f)
  15. table.concat(a, s)
  1. a = {
  2. a = 1,
  3. b = 2,
  4. }
  5. a["c"] = 3
  6. print(a["a"])
  7. print(a.c)

全局表

所有的全局变量都在名为 _G 的全局表里。

  1. a = 123
  2. print(_G.a)
  3. print(_G["a"])

分支判断语句

  1. a = true
  2. b = false
  3. -- 只有 false nil 代表假
  4. -- Lua 0 代表真
  5. print(1 < 2)
  6. print(1 <= 2)
  7. print(1 == 2)
  8. print(1 ~= 2)
  9. if (false) then
  10. print("123")
  11. elseif (true) then
  12. print("134")
  13. else
  14. print("456")
  15. end

循环语句

  1. for i = 1, 10, 2 do
  2. -- 2 为步长值
  3. print(i)
  4. end
  5. local a = 1
  6. while a <= 10 do
  7. if a == 5 then break end
  8. -- 不支持类似于 a++ 的自增操作
  9. a = a + 2
  10. print(a)
  11. end