用户登录
用户注册

Lua教程(二):基础知识、类型与值介绍

一、基础知识:1.第一个程序和函数:在目前这个学习阶段,运行lua程序最好的方式就是通过lua自带的解释器程序,如:复制代码代码如下:/>lua>print("helloworld")helloworld这样我们就可以以交互性的方式输入lua代码,并立...
  • 0
  • 0
  • 0
  • 0
  • 0

Lua教程(五):迭代器和泛型for

1.迭代器与closure:在lua中,迭代器通常为函数,每调用一次函数,即返回集合中的“下一个”元素。每个迭代器都需要在每次成功调用之间保持一些状态,这样才能知道它所在的位置和下一次遍历时的位置。从这一点看,lua中closur...
  • 0
  • 0
  • 0
  • 0
  • 0

Lua教程(六):编译执行与错误

1.编译:lua中提供了dofile函数,它是一种内置的操作,用于运行lua代码块。但实际上dofile只是一个辅助函数,loadfile才是真正的核心函数。相比于dofile,loadfile只是从指定的文件中加载lua代码块,然后编译这段代码块,如...
  • 0
  • 0
  • 0
  • 0
  • 0

Lua教程(八):数据持久化

1.数据文件:我们可以利用lua中table的构造式来定义一种文件格式,即文件中的数据是table构造并初始化的代码,这种方式对于lua程序而言是非常方便和清晰的,如:复制代码代码如下:entry{"stephenliu","male","programmer...
  • 0
  • 0
  • 0
  • 0
  • 0

Lua教程(九):元表与元方法详解

lua中提供的元表是用于帮助lua数据变量完成某些非预定义功能的个性化行为,如两个table的相加。假设a和b都是table,通过元表可以定义如何计算表达式a+b。当lua试图将两个table相加时,它会先检查两者之一是否有元表,然后...
  • 0
  • 0
  • 0
  • 0
  • 0

Lua教程(十一):模块与包详解

从lua5.1开始,我们可以使用require和module函数来获取和创建lua中的模块。从使用者的角度来看,一个模块就是一个程序库,可以通过require来加载,之后便得到一个类型为table的全局变量。此时的table就像名字空间一样,可...
  • 0
  • 0
  • 0
  • 0
  • 0

Lua教程(十二):面向对象编程

lua中的table就是一种对象,但是如果直接使用仍然会存在大量的问题,见如下代码:复制代码代码如下:account={balance=0}functionaccount.withdraw(v)account.balance=account.balance-vend--下面是测试调用函数account...
  • 0
  • 0
  • 0
  • 0
  • 0

Lua教程(十三):弱引用table

lua采用了基于垃圾收集的内存管理机制,因此对于程序员来说,在很多时候内存问题都将不再困扰他们。然而任何垃圾收集器都不是万能的,在有些特殊情况下,垃圾收集器是无法准确的判断是否应该将当前对象清理。这样就极有可...
  • 0
  • 0
  • 0
  • 0
  • 0

Lua教程(十四):字符串库详解

1.基础字符串函数:字符串库中有一些函数非常简单,如:1).string.len(s)返回字符串s的长度;2).string.rep(s,n)返回字符串s重复n次的结果;3).string.lower(s)返回s的副本,其中所有的大写都被转换为了小写形式,其他字符...
  • 0
  • 0
  • 0
  • 0
  • 0

Lua教程(十五):输入输出库(I/O库)

i/o库为文件操作提供了两种不同的模型,简单模型和完整模型。简单模型假设一个当前输入文件和一个当前输出文件,他的i/o操作均作用于这些文件。完整模型则使用显式的文件句柄,并将所有的操作定义为文件句柄上的方法。1....
  • 0
  • 0
  • 0
  • 0
  • 0

Lua教程(十六):系统库(os库)

lua为了保证高度的可移植性,因此,它的标准库仅仅提供了非常少的功能,特别是和os相关的库。但是lua还提供了一些扩展库,比如posix库等。对于文件操作而言,该库仅提供了os.rename函数和os.remove函数。1.日期和时间:在lua...
  • 0
  • 0
  • 0
  • 0
  • 0

Lua教程(十七):C API简介

lua是一种嵌入式脚本语言,即lua不是可以单独运行的程序,在实际应用中,主要存在两种应用形式。第一种形式是,c/c++作为主程序,调用lua代码,此时可以将lua看做“可扩展的语言”,我们将这种应用称为“应用程序代码”。第二种...
  • 0
  • 0
  • 0
  • 0
  • 0

Lua中的逻辑运算符使用详解

下表列出了所有的lua语言支持的逻辑运算符。假设变量a持有true,而变量b持有false:示例试试下面的例子就明白了所有的lua编程语言提供的逻辑运算符:复制代码代码如下:a=5b=20if(aandb)thenprint("line1-conditionistru...
  • 0
  • 0
  • 0
  • 0
  • 0

Lua中..和#运算符的使用方法

通过lua语言支持其他运算符包括串联和长度。例子试试下面的例子就明白了在lua编程语言提供的其他运算符:复制代码代码如下:a="hello"b="world"print("concatenationofstringawithbis",a..b)print("lengthofbis",#b)pr...
  • 0
  • 0
  • 0
  • 0
  • 0

Lua教程(二十):Lua调用C函数

lua可以调用c函数的能力将极大的提高lua的可扩展性和可用性。对于有些和操作系统相关的功能,或者是对效率要求较高的模块,我们完全可以通过c函数来实现,之后再通过lua调用指定的c函数。对于那些可被lua调用的c函数而言...
  • 0
  • 0
  • 0
  • 0
  • 0

Lua多行注释和取消多行注释的方法

1、lua多行注释:--[[代码块--]]2、取消多行注释:---[[--]]
  • 0
  • 0
  • 0
  • 0
  • 0

Lua教程(二十一):编写C函数的技巧

1.数组操作:在lua中,“数组”只是table的一个别名,是指以一种特殊的方法来使用table。出于性能原因,lua的capi为数组操作提供了专门的函数,如:复制代码代码如下:voidlua_rawgeti(lua_state*l,intindex,intkey);voidlua_...
  • 0
  • 0
  • 0
  • 0
  • 0

举例讲解Lua中的Table数据结构

文中--两个横线开始单行的注释,--[[加上两个[和]表示多行的注释--]]。--table=lua唯一的数据结构;--它们是关联数组。--类似于php的数组或者js的对象,--它们是哈希查找表(dict),也可以按list去使用。--按字典/map的方式...
  • 0
  • 0
  • 0
  • 0
  • 0

举例说明Lua中元表和元方法的使用

table的元表提供了一种机制,可以重定义table的一些操作。之后我们会看到元表是如何支持类似js的prototype行为。f1={a=1,b=2}--表示一个分数a/b.f2={a=2,b=3}--这个是错误的:--s=f1+f2metafraction={}functionmetafrac...
  • 0
  • 0
  • 0
  • 0
  • 0

Lua中使用模块的一些基础知识

--两个横线开始单行的注释,--[[加上两个[和]表示多行的注释--]]。--假设文件mod.lua的内容是:localm={}localfunctionsaymyname()print('hrunkner')endfunctionm.sayhello()print('whyhellothere')saymyname()endretu...
  • 0
  • 0
  • 0
  • 0
  • 0
1  2  3  4  5  ...  下一页  

分享至

长按复制下方链接,去粘贴给好友吧:
软件
前端设计
程序设计
Java相关