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是啥语言的主要内容,如果未能解决你的问题,请参考以下文章

请问下面的lua语言是啥意思?非常简单,就是例子

Python和Lua是啥?

什么是Lua?

lua中,a=1,2,3,print(a)打印出的是啥??

lua解释器 是啥东西? lua 后面加lua文件名为啥不行?

谁知道魔兽世界程序设计上是啥语言设计的?C还是C++,JAVA?