Lua是什么?
我今天读了关于 Lua 的一些内容,想知道它是什么。
我进行了一次 Google 和维基百科搜索,直到他们开始谈论 C
和 API
我才明白,但我仍然不理解。
Lua 是什么,有没有适合初学者的教程?
原文链接 https://stackoverflow.com/questions/1274972
Lua 是用于 C 和 C++ 的脚本语言。它允许使用 Lua 的简单语法并在您的 C/C++ 应用程序中执行这些脚本。因此,您不必在每次更改时编译程序,而只需提供新的脚本版本。
关于教程,只需使用谷歌,您会找到足够的内容让您在接下来的几天里忙碌起来。
Lua是一种轻量级、可嵌入的脚本语言。它因广泛应用于许多热门游戏而备受欢迎。其中一个很好的例子是《魔兽世界》,它使用嵌入式版本的Lua来驱动游戏中的UI元素的行为。
关于这种语言的很好的介绍可以在这里找到:http://computer-programming-languages.suite101.com/article.cfm/a_brief_introduction_to_lua_scripting
而该语言的官方在线参考文献可以在这里找到:http://www.lua.org/manual/5.1/
这是一种设计用于与C(和C++)一起使用的脚本语言,旨在嵌入到C/C++程序中。这意味着与许多其他脚本语言不同,它不使用全局变量等,这意味着您可以轻松地线程化lua脚本引擎。
它还声称是最快的动态脚本语言。
我在基于PC的C++应用程序中利用它创建了插件脚本界面,并将其用作嵌入式脚本语言。它非常多才多艺,漂亮而小巧。
作为通用脚本语言?它并不像您的ruby/python/perl类型的内容那样强大。它没有那么多的库,用户社区也非常小。
但是对于扩展C++/C应用程序,它是令人敬畏的。
Lua是一种简单、轻量级、高度可移植、动态类型、可嵌入和可扩展的多范式脚本语言。其“原始”实现(某些人可能称之为官方实现)完全基于ANSI C,并具备强大的C API,您可以使用它来嵌入Lua到您的应用程序中或扩展语言本身的行为。它是在里约热内卢教皇天主教大学(PUC-Rio)的信息学系开发的。
虽然Lua并非主要设计用于此,但它在游戏脚本中找到了巨大的市场,像“恶灵降世”和“魔兽世界”这样的大作也使用了它。然而,由于它的速度、简单性和可移植性,它在嵌入式系统(例如eLua项目)和图形计算中也得到了广泛使用。
它的理念是极简主义,即其核心库非常小,仅具有最小的功能(类似于C的标准库),但通过C API,可以非常简单地添加一些纯核心库无法实现的功能,例如套接字、GUI等。事实上,Lua是如此极简主义,以至于其主要且唯一的结构化数据类型是“表格”,它可以被描述为关联数组上的“增强版”。
Lua本质上是过程式的,但也支持多种范式,如函数式编程和面向对象编程。
虽然Lua不是最快的脚本语言(可能JavaScript的V8项目获得了奖项),但它非常快(比起原始Python或Ruby更快),还具有一个非官方的即时实现,称为LuaJIT。
最后,Lua其实只是一种乐趣语言,我推荐使用它! =)
关于教程,我推荐在lua-users wiki上的那篇文章。
希望我有所帮助!=)
PS:我无法发布所有链接,因为我是stackoverflow上的新手,但是您应该可以在谷歌上找到一切。对不起。=(
Lua 是一种用 C 编写的 脚本 语言,因其功能强大和灵活性而在游戏开发中被广泛使用。由于 Lua 是跨平台的,因此可以在任何平台上使用。Lua 还可以用作编程语言,使用我常用的便利程序 AutoPlay Media Studio,可以为 Windows 平台创建完整的应用程序。希望这能为您解决疑惑。
AutoPlay Media Studio:http://www.indigorose.com。
在 Lua 中,C API 是用于控制现有或新的 C 代码的接口,这可能会让你感到困惑。通过这种 _嵌入_,你可以轻松地在 C 代码中执行可编程、交互式、基于文本的操作。即使你不嵌入代码,Lua 也是一种非常好的脚本语言。
我的最爱例子是有一个好人将许多 POSIX 系统调用放入了 Lua。当我需要像 shell 脚本一样的东西但更复杂时,我可以使用这个库。同样,MD5 库和许多其他库也可以这样做。
在学习 Lua 时,你可以完全忽略 C API-只从其他人使用 API 的工作中受益,如果你需要嵌入自己的代码,可以稍后回来。
Lua是一种强大、快速、轻量级、可嵌入的脚本语言。
Lua将简单的过程语法与基于关联数组和可扩展语义的强大数据描述结合在一起。Lua是动态类型的,通过解释器执行基于寄存器的虚拟机字节码,并具有自动内存管理和增量垃圾回收,使其非常适合配置、脚本和快速原型开发。
您可以阅读更多信息这里。
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
- 如何编写 Lua 模式将字符串(嵌套数组)转换为真正的数组?
Lua是一种轻量级的解释型编程语言,其开发起源于巴西,并聚焦于嵌入式开发。
它采用的是纯 ANSI C 编写,这意味着它的可移植性非常高,甚至可以作为C++代码。
以下是一个示例:
print("Hello World!")
Wikipedia摘要
官方网站