E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
LUA学习
Lua学习
笔记 字符串操作 string
str="abcd";str1="我";--#str可以获取字符串长度print(#str);--4--一个汉字占3个长度(在utf-8中是3个,gbk中是两个。和编码有关)print(#str1);--3--多行字符串(也可以用转义字符)str=[[多行字符串]]print(str);--[[多行字符串]]--字符串拼接str="123".."456";print(str);--123456--
Groyo
·
2021-02-08 12:54
Lua学习笔记
lua
字符串
string
lua学习
笔记-(3)-table数据结构
mytab={}mytab["k1"]="hello-val-1"mytab.k2="lua-val-2"mytab[1]=3fork,vinpairs(mytab)doprint(k,v)end
niewj
·
2020-10-09 12:26
lua
lua学习
笔记-(2)-循环语句
--1.while循环--a=1--while(a=100
niewj
·
2020-10-09 12:26
lua
Lua学习
笔记
localtbData={Key1=1,Key2="123"}localtbCopy={}forKey,Valueinpairs(tbData)do--不能使用tbCopy.KeytbCopy[Key]=Valueend使用tbCopy.Key的话最后tbCopy的数据是{Key:"123"}
hui211314ddhui
·
2020-09-16 18:27
Lua
Lua学习
一
转帖http://www.cnblogs.com/lancidie/archive/2010/09/24/1833936.htmlLua的语法比较简单,学习起来也比较省力,但功能却并不弱。在Lua中,一切都是变量,除了关键字。请记住这句话。I.首先是注释写一个程序,总是少不了注释的。在Lua中,你可以使用单行注释和多行注释。单行注释中,连续两个减号”–”表示注释的开始,一直延续到行末为止。相当于C
kiritoChen
·
2020-09-16 11:19
lua
lua
lua学习
笔记
lua八种基本类型数值(number)内部以double表示字符串(string)总是以0结尾,但可以包含任意字符,布尔(boolean)只有true和false,只有false和nil代表失败函数(function)lua关键概念,并不简单等同于其他语言的函数,表(table)异构的hash表,关键概念userdata用户定义的c数据结构,脚本用户只能使用,不能定义线程(thread)lua协作
vanexph
·
2020-09-15 20:14
linux运维
Lua学习
与交流——Lua函数调用过程(转载)
【本文内容转自:http://blog.chinaunix.net/uid-52437-id-2108797.html】第3章lua中函数调用的方法前面,以及分析了lua中定义一个函数的方法,现在总结如下:1、将函数名作为局部变量存在局部变量表里,并在栈上开辟一个寄存器空间,在运行期,将新建一个closure,并存在已保留的寄存器里;2、将在语法解析阶段新建的FuncState结构体保存在其父函数
YoungXYYX
·
2020-09-13 12:34
Lua
基础
Xlua中lua语言与C#之间的调用
X
lua学习
笔记整理。还有很多没整理完,慢慢来。
笨鳥
·
2020-09-12 13:51
Lua学习
1) —— Android调用变量取值与赋值
2014-07-08Lua脚本语言,嵌入在App中扩展开发是很不错的。关于Android与Lua的环境搭配,我直接下载别人编好的.so与.jar(放到libs下就好了)下面简单介绍一下Android调用Lua中的变量以及赋值LuaStatemLuaState;mLuaState=LuaStateFactory.newLuaState();mLuaState.openLibs();//加载库mLua
阿凯
·
2020-09-11 00:27
Lua学习
Android开发
Lua学习
2) —— Android与Lua互调
2014-07-09一、Android类调用lua并回调Android调用Lua函数,同时把类作为参数传递过去,然后再Lua中回调类的函数调用luamLuaState=LuaStateFactory.newLuaState();mLuaState.openLibs();mLuaState.LdoString(KKLua.loadAssetsString(mContext,"lua/swallow.
阿凯
·
2020-09-10 22:13
Android开发
Lua学习
Lua学习
笔记6-迭代函数ipairs和pairs
iparis和pairs都是Lua中的迭代函数,用于在循环中的数组迭代。ipairs和pairs之间是有区别的,ipairs在遇到第一个值为nil的元素时就会停止迭代;但是pairs是会一直迭代,直到数组的元素全部被遍历一遍。localtabFiles={[3]="test2",[6]="test3",[4]="test1"}print("ipairs执行的结果:")fork,vinipairs(
UTD
·
2020-09-10 22:23
Lua
学习笔记
Lua学习
笔记7-table的长度获取
table中长度获取可以使用#来实现,但如果table中有nil就会出现一些奇怪的现象,例如:localtab={1,nil,}print(#tab)输出结果为:1localtab={1,nil,2,nil}print(#tab)同样输出1但是继续添加后localtab={1,nil,2,nil,3}print(#tab)输出结果就为5再添加一个nil结果又变了localtab={1,nil,2,
UTD
·
2020-09-10 22:23
Lua
学习笔记
Lua学习
之4:基本语法
本节讲一下Lua的基本语法:1)输出语句;2)变量定义及赋值;3)方法定义及调用;4)for迭代器的使用--输出语句,"--"为Lua语言注释print("HelloLua")--输出"HelloLua"--定义变量,local为Lua的关键字,用来声明局部变量,如果不加则为全局变量localnum=100print(num)--定义方法,function为Lua的关键字,用来声明一个方法func
little_two_two
·
2020-09-10 21:03
Lua
lua学习
笔记之详解lua堆栈
原文连接:http://blog.csdn.net/musicvs/article/details/84407071.Lua的堆栈和全局表我们来简单解释一下Lua的堆栈和全局表,堆栈大家应该会比较熟悉,它主要是用来让C++和Lua通信的,是的,它们并不认识对方,只能通过堆栈来沟通,就像写信一样。(旁白:它们不会用微信吗?!微信~!不知道?)Lua的全局表又是什么呢?可以想象成是一个map哈希表结构
watl0
·
2020-09-10 21:43
脚本语言
Lua学习
笔记(四):表和数组
表在Lua中,表(table)是十分重要的一种数据结构,实际上Lua对于复杂数据类型也仅提供了表给我们,我们通过表可以实现我们需要的大部分重要的数据结构,比如数组。table类型实现了关联数组,关联数组是一种具有特殊索引方式的数组;不仅可以通过整数来索引它,还可以使用字符串或其它类型的值(除了nil)来索引它。此外,table没有固定的大小,可以动态得添加任意数量的元素到一个table中。在Lua
weixin_33888907
·
2020-09-10 19:52
Lua学习
笔记(四):基本语法
Lua像C一样,几乎支持所有的传统语句:赋值语句、控制结构语句、函数调用等,同时也支持非传统的多变量赋值、局部变量声明。1、赋值语句:赋值是改变一个变量的值和改变表域的最基本的方法。1a="hello".."world"2t.n=t.n+1Lua可以对多个变量同时赋值,变量列表和值列表的各个元素用逗号分开,赋值语句右边的值会依次赋给左边的变量。1a,b=10,2*xa=10;b=2*x遇到赋值语句
weixin_30869099
·
2020-09-10 19:10
0基础
lua学习
(十五)metatable和__index 实现的继承
People={age=18}functionPeople:new()localp={}setmetatable(p,self)self.__index=selfreturnpendfunctionPeople:growup()self.age=self.age+1print("People:"..self.age)end--man等于p的表(p的元表是People)Man=People:new(
weixin_30755393
·
2020-09-10 19:52
Lua学习
笔记-OOP面向对象
其实脚本语言已经封装的很好了,用到的一切都可以说是对象了,单独学习一下lua的OOP只是为了将来看代码方便一点。首先需要注意的:1.lua不存在类的概念,没有明确的语法用来声明类2.lua的OOP实际上是通过table来实现的,这也有道理,因为对象本质就是数据和操作封装在一起一.对象上面提过,对象本质就是数据和操作的集合,通过表的键值对很容易定义一个对象。下面通过《ProgramminginLua
weixin_30362801
·
2020-09-10 18:20
lua学习
之table类型
关系表类型,这是一个很强大的类型。我们可以把这个类型看作是一个数组。只是C语言的数组,只能用正整数来作索引;在Lua中,你可以用任意类型的值来作数组的索引,但这个值不能是nil。同样,在C语言中,数组的内容只允许一种类型;在Lua中,你也可以用任意类型的值来作数组的内容,nil也可以。基本介绍注意三点:第一,所有元素之间,总是用逗号","隔开;第二,所有索引值都需要用"["和"]"括起来;如果是字
weixin_30298497
·
2020-09-10 18:11
Lua学习
笔记 第十五章 模块与包
模块系统的一个主要目标是允许程序以不同的形式来共享代码。要实现共享就需要一些公共的规则。Lua从5.1开始,为模块和包定义了一系列的规则。这些规则不需要语言引入额外的技能,程序员可以使用table、函数、元表和环境来实现这些规则。有两个重要的函数可以很容易通过这些规则,它们是require(用于使用模块)和module(用于创建模块)。程序员可以使用不同的规则来重新实现这两个函数。从用户观点来看,
wang1029
·
2020-09-10 18:29
Lua
Lua学习
笔记 第七章 迭代器与泛型for
7.1迭代器与closure所谓迭代器就是一种可以遍历一种集合中所有元素的机制;在Lua中,通常将迭代器表示为函数;每调用一次函数即返回集合中的下一个元素;closure(闭合函数)对于迭代器的实现提供了极佳的支持;一个closure结构通常涉及到两个函数:closure本身和一个用于创建该closure的工厂(factory)函数;简单的迭代器示例——functionvalues(t)local
wang1029
·
2020-09-10 18:29
Lua
lua
脚本
Lua学习
笔记(二)
四、表达式1、算数操作符除了基本的“+-*/”,Lua中特殊的在于“^”表示指数运算;“%”取模可用于任何实数(而非C中仅限整型)。a=8^(1/3)--计算8的1/3次10.3%4--等于2.3其中“%”是根据以下规则定义的:a%b=a-floor(a/b)*b--floor是向下取整函数故对于小数取模有一些特别的用法:x%1结果是x的小数部分,x-x%1就是x的整数部分。x%0.01是x小数点
sqq菜鸟
·
2020-09-10 18:13
lua
Lua学习
笔记(三)
八、迭代器与泛型for迭代器是一种可以遍历一种集合中所有元素的机制。在Lua中,迭代器用函数表示,每调用一次函数即返回集合中的“下一个”元素。1、迭代器与closure每个迭代器都需要在每次成功调用之间保持一些状态,这样才能知道它所在位置及如何到下一个位置。closure为此提供了支持。因此迭代器遍历集合需要一个closure和创建该closure的工厂函数。例如一个用于遍历数组的工厂函数(返回一
sqq菜鸟
·
2020-09-10 18:13
lua
Lua学习
笔记
Lua脚本是一种轻量级的动态语言,简单,方便学习,一般在游戏中用来实现游戏逻辑功能,而且还能实现热更新的功能。下面简单介绍了一下自己的学习lua之路。从一个简单的视频入手,有个大概了解。然后选择下载合适的lua解释器。先介绍了基本的数据类型,然后介绍了几个比较大的特性:元表,协同程序,模块,IO操作,CG管理。目录0.零基础http://www.sikiedu.com/my/course/75环境
ivy_0709
·
2020-09-10 18:28
脚本语言
lua 学习笔记
lua学习
笔记(入门篇·上)最近总听人说lua是一种小巧而且速度非常快的语言,挺有意思,不要怂就是干。
Mx_Man
·
2020-09-10 17:24
语言相关
Lua学习
笔记15:非抢先式的多线程
一、概念协同程序提供一种协作式的多线程。每个协同程序都等于是一个线程。一对yield-resume可以将执行权在不同线程之间切换。然而,协同程序与常规的多线程的不同之处在于,协同程序是非抢先式的。就是说,当一个协同程序在运行时,是无法从外部停止它的。只有当协同程序显示地要求挂起时(调用yield),它才会停止。对于有些应用而言,这没有问题,而对于另外一些应用则可能无法接受这种情况。当不存在抢先时,
qq_42483286
·
2020-09-10 17:39
Lua学习笔记
Lua学习
笔记14:以协同程序实现迭代器
我们可以将循环的迭代器看作生产者-消费者模式的特殊的例子。一个迭代函数会产生一些值,而循环体会消费这些内容。所以可以使用协同程序也可以用来实现迭代器。的确,协同程序为实现这类任务提供一个非常有用的工具,即协同的一个关键特征是它可以不断修改调用者与被调用者之间的关系,这样我们毫无顾虑的使用它实现一个迭代器,而不用保存迭代函数返回的状态信息。我们来完成一个打印一个数组元素的所有的排列来阐明这种应用。直
qq_42483286
·
2020-09-10 17:39
Lua学习笔记
Lua学习
笔记11:Lua错误处理
一、Errarehumanumest(拉丁谚语:犯错是人的本性)。所以我们要尽可能的防止错误的发生,Lua经常作为扩展语言嵌入在别的应用中,所以不能当错误发生时简单的崩溃或者退出。相反,当错误发生时Lua结束当前的chunk并返回到应用中。当Lua遇到不期望的情况时就会抛出错误,比如:两个非数字进行相加;调用一个非函数的变量;访问表中不存在的值等(可以通过metatables修改这种行为,后面会介
qq_42483286
·
2020-09-10 17:38
Lua学习笔记
Lua学习
笔记12:协同程序基础
协同程序同线程差不多,就是一条执行序列。拥有自己独立的栈、局部变量和指令指针。同时又和其他的协同程序共享全局变量和其他大部分东西。从概念上来讲,线程与协同程序的主要区别在于,一个具有多线程的程序可以同时运行多个线程;而协同程序却是需要彼此协作来运行,即一个具有多个程序的协同程序在任一指定时刻只有一个协同程序在运行,并且协同程序只有被显示地(执行挂起函数)要求挂起才会暂停。Lua将所有关于协同程序的
qq_42483286
·
2020-09-10 17:38
Lua学习笔记
Lua学习
笔记08:无状态的迭代器(迭代器与泛型for-02)
无状态迭代器:一种自身不保存任何状态的迭代器。因此,我们可以在多个循环中使用同一个无状态的迭代器,避免创建新的closure开销。(在一个迭代器方法中,其return直接返回一个或多个值,而不是在return后面创建一个新的函数)在每次迭代中,for循环都会用恒定状态和控制变量来调用迭代器函数。一个无状态的迭代器可以根据这两个值来为下次迭代生成下一个元素。这类迭代器的一个典型例子就是ipairs,
qq_42483286
·
2020-09-10 17:38
Lua学习笔记
lua
Lua学习
笔记09:复杂状态的迭代器(迭代器与泛型for-03)
一、具有复杂状态的迭代器:迭代器需要保存许多状态,可是泛型(for)却只提供了恒定状态和控制变量用于状态的保存。一个最简单的办法是使用closure。当然我们还以将所有的信息封装到一个table中,并作为恒定状态对象传递给迭代器。虽说恒定状态变量本身是恒定的,即在迭代过程中不会换成其它对象,但是该对象所包含的数据是否变化则完全取决于迭代器的实现。就目前而言,由于table类型的恒定对象已经包含了所
qq_42483286
·
2020-09-10 17:38
Lua学习笔记
Lua学习
笔记(5)----模块与包
学习传送门:https://www.runoob.com/lua/lua-modules-packages.html1.模块由变量、函数等已知元素组成的table,返回一个table。模块为xx.lua//文件名为classTest.lua//定义classTest模块classTest={}//定义一个常量classTest.constant="常量"//定义一个公有方法functionclas
南投北浪
·
2020-09-10 16:35
Lua
lua学习
笔记_metatable,__index,__newindex
--lua的元表--[[lua的元表允许我们改变table表的行为,例如我们可以通过修改元表实现两个共同元表的table的相加+当我么能用到两个相同的元表的table进行相加时他会去寻找元表的__add方法,通过这个方法来实现两个元表的相加]]--Set={}--声明一个tableSet.mt={}--声明这个table作为Set的metatable(元表)--这个方法是元表相加方法的具体实现fu
袁狗蛋
·
2020-09-10 16:50
lua
lua学习
笔记---元表(Metatable)
元表的作用在于对于两个表之间的操作,改变table的行为。1.设置/获取元表mytable={}mymetatable={}mytable=setmetatable(mytable,mymetatable)将mymetatable设置为mytable的元表。返回值为普通表mymetatable=getmetatable(mytable)获取mytable的元表,返回值为元表2.__index元方法
大苏苏说
·
2020-09-10 15:44
unity
Lua学习
记录__Lua中的坑
Lua中的坑——学习记录1.运算符1.1.逻辑运算符1.11.andornot运算符1.2.其他运算符1.21.#运算符情况1情况2情况3情况4总结1.运算符1.1.逻辑运算符1.11.andornot运算符逻辑运算符认为false和nil都是假(flase)的,其他为真,0也是trueand和or的运算符返回结果不是true和false,而是和它的两个操作数相关aandb如果a为flase返回a
zebintang
·
2020-09-10 15:53
Lua
Lua
#运算符
Lua中的坑
Lua 学习笔记table篇(1)
Lua学习
笔记(1)table索引的笔记tab={[1]="First"};print("tab第一个元素的值为:",tab[1]);print("");--不指定索引tab0={"First","Second
核桃饼
·
2020-09-10 15:54
Lua学习
笔记--table
Lua只有一种数据结构,叫table。但是他灰常强大,足以满足我们一般的要求,而且可以根据table做出其他的效果。一.简介table类型实际上是一种关联数组,是一种具有特殊索引方式的数组,不仅可以通过整数来索引,还可以通过字符串等其他类型(除了nil)来索引。table没有固定大小,可以动态添加元素。table可以被理解为一个对象,程序使用一个引用来使用table,这个引用是基于引用计数的。如果
puppet_master
·
2020-09-10 15:51
Lua
Lua学习
笔记--面向对象
一.引言最近又开始折腾Lua了,说实话以前没有把Lua看成什么高深的语言,一直把他当做是配合宿主程序的所谓的“脚本”(虽然事实的确如此),不过最近看了一些Lua代码才发现,原来Lua可以通过很简单巧妙的变化,模拟出一些其他语言引以为傲的特性,真没想到Lua还可以这样玩,哈哈。目前主流的编程语言C++/C#/Java都是面向对象的语言,面向对象符合我们正常的思维观念,面向对象的特性,封装,继承等更是
puppet_master
·
2020-09-10 15:51
Lua
[
LUA学习
笔记03]LUA函数和C函数的相互调用
1.简介LUA和C之间的函数调用也是基于上一节提到的栈。1.1从C程序调用LUA函数LUA的函数和普通变量一样也是FirstClassVariable类型,可以看作函数指针变量参与栈操作。因此调用过程分为如下几个步骤:请求LUA函数(指针)入(GLOBAL)栈。将函数需要的参数入栈,入栈顺序按照参数被声明的顺序。告知LUA虚拟机入栈参数的个数、函数返回值的个数,并调用此LUA函数。从栈定获得返回值
mrtechno
·
2020-09-10 15:28
lua学习
笔记之浅淡string
lua中的字符串通常表示"一个字符序列"。lua的字符串是不可变值(immutablevalues)。不能像在c语言中那样直接修改字符串的某个字符,而是应该根据要求来创建一个新的字符串。a="onestirng"b=string.gsub(a,"one","mengtianwxs")print(a)print(b)上例中使用lua字符串的gsub()方法来修改字符串的一部分。把"one"换成了"m
mengtianwxs
·
2020-09-10 15:30
lua
Lua学习
笔记-table中的混合风格&多项式求和
1、table中包含record风格和list风格的情况:polyline={color='blue',thickness=2,npoint=4,{x=0,y=1},--polyline[1]{x=2,y=3}}print(polyline[2])--打印的结果是地址print(polyline[2].y)2、更为一般的方式是用中括号将索引包住,右值作为value代码:opnames={["+"]
JasonLiu1919
·
2020-09-10 14:09
Lua学习
笔记-迭代器和泛型for
使用迭代器例子:--list迭代器,返回list中functionvalues(t)locali=0;localn=table.getn(t)--table中元素个数--print(n)--打印出表中元素的个数returnfunction()i=i+1returnt[i]endendtb={11,22,33,44,55,66}--while方式调用iter=values(tb)--创建闭包变量的参
JasonLiu1919
·
2020-09-10 14:38
Lua
Lua学习
笔记-table转为字符串
1、将table中的成员进行连接,使其成为一个字符串,可以采用table.concat()方法。例如:a={1,’a’,’b’,4}print(table.concat(a))打印出的结果是1ab4。如果是print(table.concat(a,’,’))则打印的结果是1,a,b,42、将字符串转table代码:t={}str="text"str:gsub(".",function(c)tabl
JasonLiu1919
·
2020-09-10 14:38
Lua
Lua学习
笔记-day7: 元表
[]Lua元表(Metatable)定义:元表(metatable)允许我们改变表(table)的行为,每个行为关联了对应的元方法。处理元表的两个函数:setmetatable(table,metatable)为指定table设置元表metatable;如果metatable中存在__metatable键值,setmatatable会失败;metatable=getmetatable(table)
HappyMrSpring
·
2020-09-10 14:44
Lua学习笔记
Lua学习
笔记
Lua学习
笔记目录
Lua学习
笔记1需求2选型2Python2Lua3分析4环境4下载所需依赖4环境配置4代码5代码结构如下5Monster.java5LuaDemo.java7MyMonsterThread.java8LuaTest.java9demo.lua13
linfenliang
·
2020-09-10 14:29
lua
Lua 学习笔记(2) 类型与值、表达式、语句、迭代器、泛型for
Lua学习
笔记(2)类型与值、表达式、语句参考书籍:《Lua程序设计》Lua是一种动态类型的语言8种基本类型:nilbooleannumberstringuserdatafunctionthreadtablenil
ChiLi_Lin
·
2020-09-10 14:07
Lua
Lua
学习笔记
X
Lua学习
笔记
首先:XLua需要先导入Xlua的资源。且不要随意拖动脚本中引用命名空间UsingXLua;先说一下我自己碰到需要注意的点:1、字符串前加@代表着该字符串取消转义2、在不需要的时候就释放掉(luaenv.Dispose()),但是需注意在释放前需要将委托的方法制空3、在使用Globel访问全局变量的时候,不同XLua里的相同的名字的变量名会冲突C#运行LuaLuaEnv:可以理解为运行Lua语句的
任_锡山-逸晨
·
2020-09-10 14:13
U3D
学习笔记
Lua
Lua学习
笔记:04-Lua语法基础(2)
Lua学习
笔记:04-Lua语法基础(2)1.循环语句1.1while循环1.2for循环1.2.1数值for循环1.2.2泛型for循环1.3repeat...until循环1.4循环嵌套1.5循环控制语句
逍遥俊子
·
2020-09-10 14:33
Lua学习笔记
Lua学习
笔记:05-Lua语法基础(3)
Lua学习
笔记:05-Lua语法基础(3)1.函数2.运算符3.字符串格式化1.函数函数定义格式如下:optional_function_scopefunctionfunction_name(argument1
逍遥俊子
·
2020-09-10 14:01
Lua学习笔记
Lua 学习笔记——_ENV和_G
Lua学习
笔记——_ENV和_G最近在学lua5.3发现里面的_G和_ENV的概念容易混淆,花了点时间理了一下,现在做个笔记以防后面忘记,直接用代码例子说明test_env.lua:locallocal_var
Fisher1006
·
2020-09-10 13:48
lua
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他