lua是啥语言
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lua是啥语言相关的知识,希望对你有一定的参考价值。
参考技术A Lua 是一个小巧的脚本语言。作者是巴西人。该语言的设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。它的主页是 www.lua.org。Lua最著名的应用是在暴雪公司的网络游戏WOW中。
Lua脚本可以很容易的被C/C++代码调用,也可以反过来调用C/C++的函数,这使得Lua在应用程序中可以被广泛应用。不仅仅作为扩展脚本,也可以作为普通的配置文件,代替XML,Ini等文件格式,并且更容易理解和维护。
Lua由标准C编写而成,代码简洁优美,几乎在所有操作系统和平台上都可以编译,运行。
一个完整的Lua解释器不过200k,在目前所有脚本引擎中,Lua的速度是最快的。这一切都决定了Lua是作为嵌入式脚本的最佳选择。
Lua 有一个同时进行的JIT项目,提供在特定平台上的即时编译功能,这将给Lua带来更加优秀的性能。请访问 http://luajit.org/来了解这个项目。
和Python等脚本不同,Lua并没有提供强大的库,这是由它的定位决定的。所以Lua不适合作为开发独立应用程序的语言。不过Lua还是具备了比如数学运算和字符串处理等基本的功能。
Lua 目前的最新版本是 5.1.
在lua中访问表的正确方法是啥?
【中文标题】在lua中访问表的正确方法是啥?【英文标题】:What's the correct way to access tables in lua?在lua中访问表的正确方法是什么? 【发布时间】:2018-03-02 20:39:08 【问题描述】:我决定利用空闲时间做一些有趣的活动,为 Garry's Mod 制作一些有趣的插件,角色扮演。
我正在尝试制作的插件是允许特定门出租,然后当有人租用该门时,主要所有者将收到定期付款!
我遇到了一些问题,即无法访问该表。
-- 门是一个元函数,是所有实体的属性。 -- 在这种情况下,它属于门。
cRentableDoors = cRentableDoors or -- Global table
function door:makeRentableSub( doorParent )
-- GetNWBool() is a function used to network information
-- on entities from server to client. ( so we can draw HUDs etc )
if self:GetNWBool( "IsRentable" ) == false or nil then
self:SetNWBool( "IsRentable", true )
self:SetNWBool( "IsSub", true )
cRentableDoors[doorParent:MapCreationID()] =
MainDoor = doorParent,
SubDoors = ent = self, key = self:MapCreationID()
end
end
只有一个问题。当我想添加几个子门时,'SubDoors' 表只打印 1 个索引。我在这里覆盖了什么吗?
如有任何疑问,请随时提出!
谢谢!
【问题讨论】:
SubDoors = ent = self, key = self:MapCreationID()
剥离另一个
。目前SubDoors
是一个表。
非常感谢,谢谢!
@HenriMenke,把它变成一个答案,这样它就可以被接受并且更容易被其他人找到。
【参考方案1】:
问题出在一行
SubDoors = ent = self, key = self:MapCreationID()
这里有两层大括号,这使得这个表达式等价于
SubDoors = [1] = ent = self, key = self:MapCreationID()
这是一个包含一个条目的表。只需去掉外面的一对括号就可以了,即
SubDoors = ent = self, key = self:MapCreationID()
【讨论】:
以上是关于lua是啥语言的主要内容,如果未能解决你的问题,请参考以下文章