Lua快速入门

这篇博客介绍了Lua语言的基础,包括注释、变量、函数、表等核心概念。强调了Lua的快速原型法应用,以及在游戏开发中的使用。还提到了Lua的内存管理和垃圾回收机制,以及如何使用collectgarbage()函数。文章适合初学者了解和入门Lua。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Lua快速入门

相关注意:

(1)计算机语言发展史:汇编语言,C/C++,脚本语言。
(2)快速原型法:事件管理器中使用委托系统(解决复杂的交互和系统)。
(3)特别注意:脚本语言非常慢且占用大量内存,不要用来高性能的图形和物理引擎。
4)命名规范:在命名类型中包含变量类型,如:用postionVec3表示3D矢量,而不是简单的用postion
(5)常用的地方:如果需要迭代请用脚本语言,如:经常更行的任务系统。

开始Lua基础:

(6)注释:两个” - “, – 这是注释 。 多行注释:–[[ 这是注释 ]]–
(7)每行代码末尾:可以用分号分割也可以不用。
(8)变量:number(数字),string(字符串),Boolean布尔值),table(表),function(函数),nil(NULL),userdata(用户自定义)
(9)nil:Lua中删除对象的方法,未赋值的对象默认为nil(不为任何数值)。
(10)local:Lua中对象默认为全局,局部变量要加前缀local:

  local x = 10  -- 这是一个局部变量(除非有特殊原因,都应把对象定义为局部对象)

函数:

(11)函数:Lua中的函数是普通对象,可以将它们赋值给其他变量,将它们作为参数传递给其他其他函数。

   -- 方便赋值给某个表或者生成为其他函数参数的匿名函数
   Square = function (val) return val * val end 

另外一种表达方式:

 -- 这种表达的方式更具有可读性
  function Square (val)
     return val * val
  end

(12)重写函数:

   -- 重写print()函数,在每条print()语句前添加 “ 欢迎来到Lua ”
   oldprint = print; -- 把旧的函数赋值给新 的对象
   print = function(string)
      local newString = "欢迎来到Lua"
       ... -- 原本的逻辑
      oldprint(newString)
   end
   注:如果重写Lua库函数,必须把旧函数保存在全局变量,否则无法调用函数
       原来行为

(13)返回多个值:需要返回多个值用" , "分离,return 2, 4

表:

(14)表:是Lua中唯一的数据结构,Luau将数组和通用字典都集中在表中。

  prime = {
    2, 3, 5
Lua 教程 lua Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。 Lua 是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个研究小组于 1993 年开发的,该小组成员有:Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo。 设计目的 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。 Lua 特性 轻量级: 它用标准C语言编写并以源代码形式开放,编译后仅仅一百余K,可以很方便的嵌入别的程序里。 可扩展: Lua提供了非常易于使用的扩展接口和机制:由宿主语言(通常是C或C++)提供这些功能,Lua可以使用它们,就像是本来就内置的功能一样。 其它特性: 支持面向过程(procedure-oriented)编程和函数式编程(functional programming); 自动内存管理;只提供了一种通用类型的表(table),用它可以实现数组,哈希表,集合,对象; 语言内置模式匹配;闭包(closure);函数也可以看做一个值;提供多线程(协同进程,并非操作系统所支持的线程)支持; 通过闭包和table可以很方便地支持面向对象编程所需要的一些关键机制,比如数据抽象,虚函数,继承和重载等。 Lua 应用场景 游戏开发 独立应用脚本 Web 应用脚本 扩展和数据库插件如:MySQL Proxy 和 MySQL WorkBench 安全系统,如入侵检测系统
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值