• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

LUA基础学习第一天

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

注释方法

–单行注释
–[[
多行注释
ctrl + /
–]]

结构类型

Lua的8大数据结构 用户,表,线,布,函,空,数,字,
number 数值类型
string 字符串类型
boolean 布尔类型
function 函数
nil 空类型
table 表格
thread 线程
userdata 用户数据

变量定义

变量名 = 赋值 禁止使用下划线+大写字母,如 _A
n1 = 10
print(type(n1)) --输出类型

变量初始化

a1,str1 = 10,“hello”
为初始化的变量,值为nil
a2,str2,str3 = 20,“world”
赋值操作符右侧的值多余左侧的变量时,多出的舍掉

number类型

整数,小数,有长度限制

string类型

双引号和单引号 " " ’ ’

   n1 =10
   str1 = tostring(n1)
   print(str1,type(str1))

   str2 = "100"
   n2 = tonumber(str2)
   print(n2,type(n2))
   //字符串的连接  两个点 .. 注意前后都加上空格
   a =“hello” 
   b = “world”
   c = a .. " " .. b
  
   //字符串函数 format  len  #  1个汉字等于3个字符长度
   str = string.format("共有%d",7)
   len = string.len(str)
   print(str,len)
   print(#"abcd")

boolean类型


与或非 and or not
and:如果and的左侧值为真,表达式的结果为右边的值,如果左边的为假,结果为左侧的值
or :如果or左侧的值为真,表达式的结果为左侧的值,如果左侧的为假,结果为右侧的值
not : 取反

关系表达式

// >= <= == > < ~=
print(1 ~= 2)
print(“2” >= “21”)

条件语句

   if 2>0 then
      print(2)
   else
      print(0)
   end

   if 0>2 then
      print(2)
   elseif 0>4 then
      print(3)
   else
      print(5)
   end

循环结构

    while  没有自增自减
    i =10
    while i>0 then
    i = i-1
    print(i)
    end
    
    for循环 第三个参数默认1,从1开始
    for i=0,10,2 do   --从0开始,每次加2,直到大于10停止
    print(i)
    end

    for i=10, 0, -1 do
    print(i)
    end

table 表

{} 下标从1开始
用作数组和链表

1.定义

   tab = {"aa",10,true,{1,2}}
   print(tab[3])                  --true
   tab[#tab +1] = 10
   print(tab[5])                   --10

2.插入到制定位置

   table.insert(table,index,value)

3.插入到表最后

   table.insert(table,value)
   table.insert(tab,"hello")
   print(table[6])
   table.insert(tab,1,"aa")
   print(tab[1])

4.删除表的内容

   tab = {1,2,3,4,5,6,7}
   print(#tab)     --7
   tab[7] =nil
   print(#tab)   --6

5.插入新的键值对

    //用作字典使用  key value  下标就是key
    tab ={key =10, n1 =20, r3 = "rrr"}
    print(tab.key)
    print(tab["key"])
    tab.key2 =30

6.删除键值对

    tab.r3 = nil
    print(#tab)    --#不适用于计算键值对的table

迭代器 ipairs pairs

1.ipairs 常用于遍历数组形式的表,遇到nil 就停止

    tab1 = {7,6,5,4,3,2,1}
    for i,v in ipairs (tab1) do
    print(i,v)
    if i> 3 then
       break
       end
    end

2.pairs 常用于字典类型的表,遍历的结果是无序的,nil不会停止

    tab2 = {key1 =1,key2 =2,key3 =3}
    for k,v in pairs (tab2) do
    print(k,v)
    end

function 函数

1.返回1个值

   function Add(arg1,arg2)
     return arg1 + arg2
   end
   n1,n2 = 10,20
   result = Add(n1,n2)
   print(result)

2.返回多个值

   function FF()
   return 1,2,"cc"
   end
   a,b,c= FF()
   print(a,b,c)

3.函数指针

   fun = Add
   r = fun(10,20)
   print(r)

4.函数做参数

   function GG( arg)
     print(arg(2,3))
   end
   GG(Add)

5.函数作为表中的值的存在

   -- text2(Add)
   -- _math.AddFunc = Add
   -- r = _math.AddFunc(10,20)
   -- print(r)

局部,全局,算数运算符

^幂运算
print(2^32)
print(3/2) 默认双精度浮点型计算

局部变量的声明 使用local 关键字
function aa(oo) 参数永远是局部的

  oo =12
  local x=1
  a =10
  end
  aa()
  print(a)   --10
  print(x)   --nil
  print(oo)  --nil

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap