LUA基础学习第一天

注释方法

–单行注释
–[[
多行注释
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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值