c++与lua实战一

##一、 lua的编译
在这里插入图片描述

二、第一个c++与lua结合的文件

配置详情看视频

三、require、loadfile与dofile的定义和区别

Lua中dofile,loadfile,require

  1. loadfile:
    加载文件,编译文件,并且返回一个函数,不运行。使用loadfile加载的文件里的数据,不能直接使用,只有调用了相应的方法才能使用文件里的数据。

2.dofile:
其实就是包装了loadfile,并将其包装的函数执行了一遍。

3.require:
require和dofile的区别就是,require是只会加载一次。搜索该文件时会判断该文件是否加载过,如果加载过就不加载。

4.require加载原理
加载过的文件,package.loaded[require的模块名]=true,这个里面会记录文件是否加载过。reqruie的默认返回值是true,若文件有返回值则返回自己的返回值。需要热更新一个文件只需设置package.loaded[require的模块名]=nil,下次require的时候会重新加载新的文件。

四、lua的几种数据类型

1.boolean类型

除了nil和false为假的其他都为真包括

2.string类型

注意:转义字符也可以在使用

(1)tonumber 函数可以将字符串转化为number类型
(2) tostring可以完成字符串的转换
字符串的多行定义
例子:
local html=[[
<html>
</html>
]]
(3) string.len()返回number类型
(4)string.sub(str,i,j) --字符串的截取
a = "apple"
b = string.sub(a,3,5)
print("b的值"..":"..b)
(5) local b,e =string.find(str,“HEAD”)支持正则
(6)string.gsub(str,“HEAD”,“XCJ”) 支持正则

重新创建一个不是对原来的修改

a = "apple"
b = string.sub(a,3,5)
print("b的值"..":"..b)


local b,e =string.find(a,"pl")
print("pl所在的位置是: "..b.."-"..e)


local c=string.gsub(a,"pl","nmlgb")
print("目前的a的值   是"..c)
(7)table.remove(tab,i) 指定下表删除
	table.remove(tab)  直接删除最后一个
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值