Lua学习笔记PartⅠ

{人活着如果没有梦想,那和咸鱼有什么分别。但是仅仅有梦想,却不脚踏实地的去追寻,撑死也就是条晒干的咸鱼}

/注释///

--: 行注释;

--[[

  code

-- ]]: 块注释;

---[[

code

--]]: 块反注释;


基础类型/

1. nil   // 表示无效或者删除变量;一个全局变量(非local)赋值为nil的时候,系统会回收这个变量分配的内存

2. boolean(false / true)  // false 和nil都等同于“false”, 其他都等同于“true”

3. number // 表示实数 eg: 3  0.4  8.27e-3;

4. string  // 一对匹配的‘’或者“”来定义,  eg:”teststr“  ‘teststr’

     tostring()//数字转str,  tonumber(),  (number .. "teststr")//str转字符串

    #:放字符串前面,获取字符串长度  eg: #"I'm test str"

     // 转义字符用到在查不必记

   注意在linux下的换行(\n)和windows下的对换行(\r\n)的定义;

5. table

      eg: a = { x = “sunday”, y = ”monday“ };  // 键值对, 索引值对

      t.x  = a["x"];     // 结果为”sunday“,   引号和点号表示键值对访问方式;

      t[x] = a[变量x的值],eg:  x = 1; t[x] // 结果为sunday,  如果x是实数类型则表示索引值对访问方式(类数组),如果x = ”x“即键值对访问;

     table.maxn // 返回一个table的最大正索引值;

     数组通常以1作为索引起点值,#a或者nil作为界定数组结尾的标准; 

    //可以将table变量赋值给其他变量;   eg:  b = a; print( b.x );

6. function: 

    支持多返回值, 不定个数参数传递, 【丢掉多余的,用nil补充不足的,赋值传参一个道理】


///运算符//

1 算术运算符[7种]

   + 、- 、*、/ 、 ^(幂)、%(求模)、-(负数) // 特别注意%,很有用

   当操作数为整数时候,结果与第二个操作数类型保持一致; 当为实数的时候就有所不同

   eg: x = 1.11; print( x%1) -- 0.11 // 返回x的小数部分;

   实用:x = 1.111111;

              print( x - x%0.01)-- 1.11 保留两位小数;

              print( x - x%0.001)-- 1.111保留三位小数;

2.关系运算符【6种】

  <、> 、<=、 >=、 ==、 ~= 结果均返回boolean类型;

  userdata和table的比较Lua是实用的引用方式比较的

  eg: a = { x=1 }; b = { x=1 }; c=a; -- a == c ,  a ~= b, c ~=b;

      另外 2 < 15,  "2" > "15";

3. 逻辑运算符

    and  or  not 

    (a and b) or c    ==  a ? b : c;       -- lua的类似三目运算符的实现,    前提是b  ~=  false;

4.长度运算符【#】

    目标操作数必须是string 或者 table类型;


///Statement

break  return goto 和c一样, 貌似没有continue???

1. assignment

   多重赋值和传参一个道理,多余的被舍弃,补足的补nil;

   但是建议最好只用基本赋值, 清晰明了易读;

2. 结构控制;

a. if condition then

         body

    elseif condition then

        body

   else

       body

   end

b. while condition do

       body

    end

c. repeat

       body

    until condition// condition为repeat的结束条件;

d. for: Numeric  for 和 Generic for;

   Numeric for:

eg: for var = exp1, exp2, exp3 do-- exp1 起值, exp2 终值  exp3 步进值 ,步进值可以不写使用默认值;

             body

       end

Generic for: // 泛型;

   遍历文件io.lines, table(pairs), 序列(ipairs), 字符串的每个字符(string.gmatch);

eg: for <var_list> in <exp_list> do

            body

       end

eg: for i, v in pairs(a) do // 遍历table;

            body

      end

e. assert(V, mess)   -- 同 c的assert; mess 为错误发生时返回的信息;

    dofile(); 加载chunk并且运行, loadfile只加载chunk, 并将chunk作为一个函数返回;

    load尽量别用;

    error(string msg);  --返回值是一个string类型, 包含文件名+ 代码所在行+预定义的msg;

   traceback,回溯 ,xpcall, debug.debug;


coroutine

co = coroutine.create( function(...)

     for i=1, 2 do

         print(i);

         coroutine.yield(co);// 挂起协程, 只能在协程内部使用,外部使用会报错;

     end

end )

print( coroutine.status( co ) ); -- 协程创建过后就是suspended状态, 另外有running,dead, normal

print( coroutine.resume( co ) ); --执行打印1, 挂起;

print( coroutine.status( co )  ); --suspended;

print( coroutine.resume( co ) ); --接着执行; 执行完毕即为dead;

print( coroutine.status( co ) ); -- dead;




weixin073智慧旅游平台开发微信小程序+ssm后端毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
python017基于Python贫困生资助管理系统带vue前后端分离毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值