Lua特性:可移植性:使用clean C编写的解释器,可以在多个平台编译良好的嵌入性:Lua提供很多API,可供宿主程序与Lua脚本之间进行通信和交换数据非常小的尺寸:Lua的效率很高:是速度最快的脚本语言之一 Lua源码大体分为三个部分:虚拟机核心、内嵌库以及解释器、编译器 Lua代码是通过翻译成Lua虚拟机能识别的字码运行,分为两大部分:1.翻译代码以及编译为字节码的部分2
转载
2024-04-08 21:09:25
56阅读
lua中默认是没有c中的const常量的,找到了一个使用setmetatable。主要原理就是重载__index方法(相当于get方法)和__newindex方法(相当于set方法)。但是他实现的是不支持表中有表的情况的。下面是我修改后的代码:function newConst( const_table ) --生成常量表功能
function Const( const_tabl
转载
2024-04-22 19:31:16
138阅读
--->lua中字符串索引从前往后是1,2,……,从后往前是......,-2,-1 e.g: tmp = “abcd” ,tmp[1] =='a',tmp[2] =='b',tmp[-1] =='d',tmp[-2] =='c'. --->string库中所有的function都不会直接操作字符串,只返回一个结果。
--->
转载
2024-04-16 21:18:37
62阅读
网上找了一些关于gsub模式匹配资料,但是都不全面细致,所以打算翻译官方文档。以下内容翻译自《Lua 5.3 Reference Manual》6.4.1 - Patterns。 ------ 我是一条分割线------ Lua中的模式匹配用正则表达式来描述,它被用于string.find, string
转载
2024-05-12 16:21:34
75阅读
StringsLua 也支持字符串类型 (例如. 文本) . 创建字符串, 使用 "双引号" 或 '单引号' 引用文本即可: > print("hello")
hello 我们可以采用下面方法声明字符串变量: > who = "Lua user"
> print(who)
Lua user 我们也可以使用 .. 操作符, 将字符串整合在一起: > print("hello
转载
2024-06-27 22:37:15
79阅读
文章目录一、前言二、浅拷贝和深拷贝三、浅拷贝1.拷贝对象为string、number、boolean等基础类型时2.拷贝对象的类型为table类型时三、深拷贝 一、前言先来说说·,为什么突然谈及到浅拷贝和深拷贝这个问题。因为时间紧任务重,lua零基础参与项目研发,没有系统学过lua,对于lua里面的坑,差不多该踩的,能踩的,我踩了,或者即将去踩了。这不,本现实就是,它来了(坑),由于系统模块比较
转载
2024-03-21 12:49:13
97阅读
Lua学习笔记(更新中)部分细节逻辑操作符and、or使用短路求值:and 第一操作数为假,返回第一操作数or 第一操作数为真,返回第一操作数字符串连接“..”连接两个字符串,若其中任意一个操作数为数字的话默认转为字符串。赋值语句Lua允许多重赋值,可以通过多重赋值实现swap两个变量的功能。局部变量和块local语句创建局部变量,作用域为当前块。尽可能地使用局部变量,避免将无用的名称引入全局变量
转载
2024-05-09 09:27:04
60阅读
lua string.find local s=[[{"weatherinfo":{"city":"石家庄","city_en":"shijiazhuang","date_y":"2012年4月24日","date":"","week":"星期二","fchh...
转载
2013-09-10 20:20:00
293阅读
2评论
lua string
原创
2022-09-03 00:48:25
141阅读
string(字符串)字符串由一对双引号或单引号来表示string1="this is a string1"
string2="this is string2"
print(string1)
print(string2) 也可以用2个方括号"[[]]"来表示“一块”字符串。html=[[
<html>
<head></head>
<body>
&l
转载
2024-03-22 12:07:08
800阅读
最近用lua在写工具,用到比较多lua模式匹配的东西,遇到挺多新鲜的东西,所以记录一下,希望也能给大伙一些帮助吧~我们知道string非常强大string.find(字符串查找) string.gsub(全局字符串替换) string.gfind(全局字符串查找) string.gmatch(返回查找到字符串的迭代器)等等。。。模式匹配基本都用得上了这些函数的用法我就不详细说了,大伙估计都知道的,
转载
2024-03-19 14:22:08
152阅读
lua string.find local s=[[{"weatherinfo":{"city":"石家庄","city_en":"shijiazhuang","date_y":"2012年4月24日","date":"","week":"星期二","fchh":"11","cityid":"1...
转载
2013-09-10 20:20:00
153阅读
2评论
如何打印出字节码:代码里做如下修改,把打印字节码的宏开关打开。y.tab.c18 行#define LISTING 0改为#define LISTING 1因为 PrintCode 的定义在调用之后,所以加个前置声明:做出下修改:y.tab.c329 行添加static void PrintCode (Byte *code, Byte *end);保证在 lua_parse 调用它的时
转载
2024-03-25 10:43:02
30阅读
Lua内置库的实现(一)_string模块
Lua的string库相较其它许多动态语言的string库来说,可谓短小精悍。不到千行C代码就实现了一个简单使用的字符串模式匹配模块。虽然功能上比正则表达式有所欠缺,但考虑到代码体积和功能比,这应该是一个相当漂亮的平衡(C 语言社区中常用的正则表达式库PCRE的个头整体比lua的实现还
转载
2024-05-02 23:41:19
92阅读
这块主要记录Lua语句的写法Lua中除了基本的赋值、控制结构、过程调用语句外,还有一些特殊用法如多重赋值(multiple assignment)和局部变量声明赋值语句多重赋值语句用法:> a,b=10,20
> print(a)
10
> print(b)
20
>在多重赋值语句中,Lua会先将等号右边所有元素都求值完然后依次对左边赋值,并且右边多出来的将会被丢弃。若右边
转载
2024-04-12 21:05:50
68阅读
在C#语言中,字符串是System.String类的一个引用类型,但与其他引用类型不同的是,C#将字符串视为一个基本类型,它可以申请为一个常量,也可以直接给它赋值。由于C#中的字符串是由System.String类派生而来的引用对象,因此可以使用String类的方法来对字符串进行各种操作。下面通过几个例子来讲述String类的几个重要方法以及字符串拘留池机构。1、字符串的复制: (1)、Stri
转载
2023-08-14 15:52:36
233阅读
Lua5.3 笔记最近用skynet,sproto通讯,完全看不懂通讯二进制是怎么写的,发现都是string这个,string那个,完全理解不来。 于是查了一下string.pack的api,和之前别的语言里面用的writeByte,writeShort,writeUnsignedInt这样的写法完全是不一样的。 然后在此记录下来。参考字符串的Pack和UnpackAPIstring.pack,
转载
2024-05-01 21:32:48
165阅读
在string库中功能最强大的函数是:string.find(字符串查找)string.gsub(全局字符串替换)string.gfind(全局字符串查找)string.gmatch(返回查找到字符串的迭代器)这些函数都是基于模式匹配的。与其他脚本语言不同的是,Lua并不使用POSIX规范的正则表达式[4](也写作regexp)来进行模式匹配。主要的原因出于程序大小方面的考虑:实现一个典型的符合P
转载
2024-03-14 18:02:07
25阅读
string函数string.byte (s,[,i[,j]])返回字符串内部编码s[i],s[i+1],...,s[j]。i默认是1,j默认是i;
和|string.sub|规则相同。内部编码不一定可移植。
string.byte("hello",1,5)
在mac上返回104,101,108,108,111string.char (…)接收零个或多个整数。返回由参数编码组成的字符串
转载
2024-03-16 09:08:37
169阅读
在lua中,string库用的情况比较多,现在就lua中的string库做一个简单的总结 string中的常见函数有一下几个 1)string.byte 函数 string.byte 把字符串里的第 i 个字符转为 ASCII 编码,默认是输出第一个字符的编码(只有一个参数的 话) string.byte (s [, i [, j]])
例如:''' print(string.by
转载
2024-03-06 22:38:38
247阅读