几周后,我将在一家软件公司实习,以确定我是否应该开始当软件程序员的学徒。我通过游戏获得了一些(非常)基本的 Lua 经验,我在实习简历中说明了这一点,他们告诉我他们有一个项目,我可以在该经验的基础上进行开发。所以我决定获得更多的知识并摆弄 Lua - 引导我解决这个问题。
我知道 Lua 是一种脚本语言,并且它经常嵌入在 C 程序中。据我了解,Lua 本身是用非常基本的 C 语言编写的,如果单独使用,也有自己的解释器。如果是这种情况,是否正确:
无论我是独立使用Lua还是嵌入到C-Programming环境中,它的底层都将始终使用C-Code?
而且由于它是一种脚本语言,我在 Lua 中对命令所做的基本上是访问和命令底层 C 命令,就像告诉 C 做什么一样?
无论我独立使用Lua还是嵌入C语言环境中,底层总是使用C代码?
C 通常是一种编译语言,因此在运行时 Lua 的 C 源代码不再相关。但是从 C 源代码派生的机器代码将始终参与执行 Lua 代码,所以从这个意义上来说是的。
然而,这并不一定意味着您需要了解有关 C 的任何知识才能编写 Lua 代码。
由于它是一种脚本语言,所以我在 Lua 中使用命令所做的基本上是访问和命令底层 C 命令,比如告诉 C 做什么?
将 Lua 称为“脚本语言”更多的是与 Lua 代码的形式及其创建灵感有关,而不是与 Lua 的工作方式有关。尽管有任何独立的解释器,它还是被设计为嵌入到程序中,用于这些程序的脚本行为。当然所有这些都是用C实现的,但是作为一个Lua程序员,你不应该认为这是Lua包装了相应的C函数。
确实,作为一个 Lua 程序员,你可能根本不需要考虑这个问题。然而,如果您确实考虑一下,那么更好的模型是基于 Lua 的脚本环境以特定于程序的方式包装程序数据和行为。