lua学习总结

这篇博客是对Lua编程语言的总结,包括其特点、基础概念如数据类型、表达式、表结构和基本语法。深入探讨了加载运行文件的方法、协同函数、元表及元方法。Lua以其精简的语法和与C/C++的良好融合,常用于游戏开发和配置性高的程序中。
摘要由CSDN通过智能技术生成

简述

Lua是一个很小的编程语言,很多人将其与Python高级语言进行比较。
Lua有以下的特点:
(1)纯C语言实现,源码小,可以很好地与C/C++融合。可自行编译,生成静态库。
(2)语法简单,灵活,易学。

我也同时学习了Python,相比之下,Lua精简,功能简单,可用的库少,但是语言的实现写得如此精简也很不错了!与C/C++程序结合就能显示它的强大能力,适用于要求可配置性很高的C/C++程序中,比如游戏。
如果想写纯脚本程序,那就选Python吧,它是强大,库多,喜欢单干。

好,我们学习Lua吧!

基础

数据类型

Lua的常用数据类型有:
(1)Nil (空) <==> C语言中的NULL
(2)number 所有数据,包含整数小数
(3)string 字串类型
(4)boolean 布尔类型 true, false
(5)function 函数类型
(6)table 表类型

其实,Lua中的数据类型远不止上面的这几个,比如file.
table在Lua中是最重要的数据类型,Lua的很多思想都是基于表来实现的,比如模块、对象。
boolean 除Nil与false为假以为,其它都为真。
string
\ 转义字符
\[
\]
\ddd 3个十进制的数据表示一个字符,高位填0
[[ ... ]] 表示多行字符串,其中字串无转义


a = [[ \t \n [[ ]]

print(a)

\t \n [[

当字符串被参于数值运算时,Lua会试图将字串转成数值

print("10"+ 1) --> 11

print("123"* "12")--> 1476

当数值参于字串运算时,Lua也会尝试将其转换成字符串

print(123 .. 12)-->12312

print(10 =="10") --> 永远都是false

-- 除非

print(10 == ("10"+ 0)) --> true

print("10"== (10 .. ""))--> true

总之:操作符决定了两边操作数的转换类型。


表达式

(1)算术运算符  + - * / ^ (加减乘除幂)
(2)关系运算符 < > <= >= == ~= (不等于)
     nil只与自己相等,table, usedate, function, 只比对象不比内容的值,相当于C语言中的指针比较
(3)逻辑运算符 and or not
          and, or 的运算结果不是true与false

    
    a andb -- 如果a为false,则返回a,否则b

    a orb -- 如果a为true,则返回a,否则b

    a andb or c -- 类似C中的 a ? b : c

        not 结果返回true或false

(4)优先级
        ^ 与 .. 是右连接

表结构

days = {"sun","Mon", "Tue","Wed", "Thu","Fri", "Sat"}

print(days[0])--> nil

print(days[1])--> Sun

注意: Lua中,表的索引是从1开始的,不是0!

Polyline = { color
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值