一,搭建环境: 工具:UItraEdit 需要的两个文件: 添加到Path系
转载
2024-06-04 23:36:06
107阅读
解释都在注释里,你可以新建lua文件,拷贝下面的代码直接在命令行下面就可以运行,本人是用sublime运行的 -- 第4章 语句
-- 赋值, 局部变量与块, 控制结构 break与return
-- 4.1 赋值: 修改一个变量或者一个table中字段的值
a = 0;
a = 1; -- 赋值也,变换值也
-- 多重赋值(多重返回稍后讲解)
a, b = 2, 3;
print(a,
转载
2024-06-09 19:21:40
83阅读
注释单行注释
--
多行注释
--[[
--]]基本数据结构 nil nil 类型表示一种没有任何有效值,它只有一个值 -- nil,例如打印一个没有赋值的变量,便会输出一个 nil 值,对于全局变量和table,nil还有一个“删除”的作用,将其赋值为nil即可。 nil作比较时,应该加上双引号""type(X)
nil
type(X)==nil
false
type(
转载
2024-03-30 19:45:02
108阅读
Lua与c++互调上一节我们实现了一个c++的封装类,通过该类我们就可以调用lua中的函数。可是这还满足不了我们的需求,我们还想通过lua来调用我们c++的方法。通过研究/tolua++-1.0.93/src/tests下的例子,结合c++的特性,我总结了一个tolua的例子。不能说相当完美,但是基本的功能已经能够满足项目的需求了,而且通过这个例子,也可以使各位对tolua的语法以及用法有一个初步
Q:Lua中如何定义以及调用函数?A:function foo(arg1, arg2, ...)
dosomething
return ret1, ret2, ... or nothing
end
-- add all elements of array 'a'.
function add (a)
local sum = 0
for i,v in ipairs(a) do
转载
2024-03-19 16:48:58
63阅读
在lua中,函数是语句和表达式体现的主要机制。函数可以完成某些特定的任务、计算和返回执行结果。前者当成一个语句,后者当成一个表达式: 1 print(8*9,9/8)
2 a = math.sin(3) + math.cos(10)
3 print(os.date()) 在这两种情况下,调用函数都要用一个括号携带一系列参数去表示。如果函数不带参数,也需要用空的括号去表示。但是有几个特列括号是
转载
2024-10-29 12:45:56
35阅读
实现分析当前的实现因为只加了line事件,执行每一行代码都会执行钩子函数去查看是否有断点,这是没有必要的。我们可以在call事件时检查当前函数是否有断点,只有当有断点的时候才加入line事件。那我们什么时候去掉line事件呢?是不是遇到return事件就去掉呢?考虑如下场景考虑如下场景:假设f1调用f2,f2又调用f3。f1中有断点,f2没有断点,f3有断点。如果遇到return就去掉line事件
Lua函数函数定义格式可变参数运算符算术运算符关系运算符逻辑运算符其他运算符运算符优先级 Lua函数函数的作用: 1. 完成指定的任务,这种情况下函数作为调用语句使用; 2. 计算并返回值,这种情况下函数作为赋值语句的表达式使用函数定义格式optional_function_scope function function_name( argument1, argument2, argumen
其实nginx的rewrite模块是在日常nginx配置中十分常用的模块,应该是除了 real_ip 模块、匹配时用到的find_config模块和前端资源配置的 static 模块外的最常用的了吧。Nginx的处理顺序 nginx的处理顺序是11 个模块,处在realip模块后的就是 rewrite 模块了。而rewrite的模块中的return一旦执行就不会再处理接下来的模块了。而rewrit
转载
2024-03-02 09:20:32
84阅读
Lua 函数调用时, 需要带括号(对于单个参数的函数,某些值不需要用括号, 如字符串, 表).
但是注意return是可以带括号也可以不带括号的.
这里重点说到括号, 因为括号和返回多值的函数关系很大, 也就是"诡异"的地方, 后面会举例.
函数可以作为一个语句执行, 那有点类似一个过程语言, 执行完的函数结果被抛弃掉
转载
2024-03-21 10:48:45
873阅读
逻辑运算符认为 false 和 nil 是假(false),其他为真,0 也是 true.and 和 or ,~=and 和 or 的运算结果不是 true 和 false,而是和它的两个操作数相关。~=表示不等于a and b -- //如果 a 为 false,则返回 a,否则返回 b
a or b -- //如果 a 为 true,则返回 a,否则返回 b
一个很实用的技巧:如
转载
2024-06-09 22:24:00
885阅读
上一篇讲了如何生成语法树。生成语法树之后就要生成代码了,即可以被执行的指令,想想都有点激动。前面提到再复杂的代码都可以转换为赋值,运算,比较等指令。赋值是将一个确定的数值或字符串赋给一个变量,他是一个二元操作。运算无非是简单的四则运算,加减乘除,他们都是二元的。比较也是将值与true or false对比,也是二元操作。赋值拿local a = 1 举例,变量是a,值是1。遇到这个语句时,怎么样让
转载
2024-02-23 21:49:38
78阅读
文章目录简记变量数据类型运算符算术运算符关系运算符逻辑运算符杂项运算符列表(表)表格操作表连接插入和删除排序表模块元表__index 元方法实例总结__newindex 元方法实例实例为表添加操作符实例__call 元方法实例__tostring 元方法实例 简记
lua下标从1开始迭代器pairs/ipairs函数是一等公民变量lua中变量是对值的引用默认全局变量局部变量添加关键字local数
转载
2024-06-01 14:52:56
97阅读
Lua 迭代器迭代器(iterator)是一种对象,它能够用来遍历标准模板库容器中的部分或全部元素,每个迭代器对象代表容器中的确定的地址 在Lua中迭代器是一种支持指针类型的结构,它可以遍历集合的每一个元素。泛型 for 迭代器泛型 for 在自己内部保存迭代函数,实际上它保存三个值:迭代函数、状态常量、控制变量。 泛型 for 迭代器提供了集合的 key/value 对,语法格式如for k
转载
2024-04-10 11:37:09
77阅读
1注释:①单行注释:两个减号是单行注释。eg. --②多行注释:--[[多行注释多行注释]]--2.标示符:Lua标示符用于定义一个变量,函数获取其他用户定义的项。标示符以一个字母A到Z或a到z或下划线_开头后加上0个或多个字母、下划线、数字(0到9).Lua不允许使用特殊字符如@,$和%来定义标示符。Lua是一个区分大小写的编程预言。3.关键字:以下列出Lua的保留关键字。保留关键字不能作为常量
转载
2024-03-26 22:19:18
271阅读
无论是 lua_dostring 或者是 lua_dofile,都调用了语法分析 lua_parse。在 lua 里面语法分析器是用 yacc 生成的,就是y.tab.c 文件,lua.stx 就是 yacc 的输入文件。这里说的东西基本上编译原理书里都有介绍,如需要进一步了解,请自行参阅。在说语法分析之前,说下词法分析。lua 的词法分析是手写的,手写的词法分析性能比较好,这个在 lua1.1
转载
2024-06-14 21:03:06
130阅读
break,continue,return的区别
最近总使用到这3个关键字,所以想总结一下他的用法.
1)break 直接跳出当前的循环,从当前循环外面开始执行,忽略循环体中任何其他语句和循环条件测试。他只能跳出一层循环,如果你的循环是嵌套循环,那么你需要按照你嵌套的层次,逐步使用break来跳出.
转载
2024-10-08 20:20:38
169阅读
Function Description在LUA中, Function和Number, String一样属于基本类型. 凡是基本类型可以出现的地方Function一样可以出现. 这意味着Function可以存储在变量中,可以作为另一个Function的参数传递,也可以作为某个Function的返回值. 可以把Function德名字视为一种变量,它指向具体的Function实现. 这样的机制给程序设
转载
2024-04-04 19:58:57
47阅读
L1[function]01. 定义与调用函数函数的定义 和概念 没什么可说的lua的函数声明和调用是有先后顺序的 先声明后调用函数就是变量的一种 所以可以自由的把函数在变量间相互赋值 不过注意函数变量和表变量差不多 都是存储的是内存地址 指针aa=function (x,y)—红色部分就是所谓的lua的匿名函数 但是真的名不副实 pri
转载
2024-02-29 15:09:02
207阅读
--*****************************************--
-- Created by Anthony Yoo
-- User: Robotics Studio
-- Date: 2018/1/29
-- Time: 17:44
-- Manufacturer: ADTECH(ShenZhen) Technology CO.,LTD
-- Country of or