Lua可以在哪些编程范式下使用?

我对Lua编程进行了一些研究,但我仍然困惑于它可以在哪种范式下工作。

在一些演示中,我发现Lua不是为面向对象编程而设计的。但也有其他人表示它也可以用于OOP。因此,我正在寻找适合Lua运作的编程范例。

原文链接 https://stackoverflow.com/questions/7948338

点赞
stackoverflow用户734069
stackoverflow用户734069

Lua是一种“想怎么用就怎么用”的编程语言。它不会限制编程范式;它提供一系列实用的特性,使你可以自由地采用所需的任何编程范式。它没有函数式编程特性,但它将函数作为一等对象并提供适当的词法作用域。因此,如果你希望使用函数式编程,可以采用它。它没有“类”或其他的原型,但它提供了封装数据的方法和特殊的语法来调用一个带有“this”对象的函数。因此,你可以使用它构建对象。

Lua不会规定你该怎么使用它,这取决于你自己。它提供了低级工具,可以轻松地构建任何编程范式。

2011-10-30 23:58:49
stackoverflow用户312586
stackoverflow用户312586

Lua是一种命令式语言,因此不太适合函数式编程

独立使用时,Lua是一种过程式语言。然而,由于其数据结构的简单性(它只有一个:表),非常容易在其上添加“层”,使其成为面向对象语言。最基本的继承规则可以在只有10行代码的情况下实现。虽然有几个库可以提供更精细的体验,但是我的库middleclass总共仅有140行代码。

Lua的另一个极佳用途是作为脚本语言。它小巧,快速,仅使用标准的C内容,其标准库也很小。然而,它不像Java一样有“电池包含在内”。

最后,我发现它非常有用作为数据符号语言;您可以以非常类似于JSON的格式表达原始数据。

总的来说,我认为Lua感觉非常接近JavaScript。

2011-10-31 21:56:01