可以使用哪种编程范例Lua?

Ort*_*ios 2 paradigms lua

我已经做了一些关于Lua编程的研究,但我仍然对它可以起作用的范式感到困惑.

在一些演练中,我发现Lua不是面向对象编程的.但他们是其他人说它也可以为OOP工作.所以,我正在研究哪种编程范例可以发挥最佳效果.

Nic*_*las 9

Lua是一个"做你想做的"编程语言.它不挑选范式; 它是一个有用的功能包,让您可以自由使用您需要的任何范例.它没有函数式语言功能,但它确实具有作为一流对象和正确的词法范围的功能.因此,如果您愿意,可以在功能上使用它.它没有"类"或其他类似的原型,但它确实具有封装数据的方法和使用"this"对象调用函数的特殊语法.所以你可以用它来构建对象.

Lua没有决定你用它做什么; 随你(由你决定.它提供了低级工具,使您可以轻松构建任何您想要的范例.


kik*_*ito 5

Lua是命令式语言 ; 因此对于函数式编程而言并不理想。

Lua本身就是一种程序语言。但是,鉴于其数据结构的简单性(它只有一个:表),在其之上添加“层”并使之成为面向对象的语言非常容易。只需10行代码即可实现最基本的继承规则。虽然有几个库可以提供更精致的体验。我的图书馆Middleclass总共是140 LOC。

使用Lua的另一种好方法是作为脚本语言。它体积小,速度快,仅使用标准C语言,而标准库很小。另一方面,它不像Java那样带有“包括电池”。

最后,我发现它作为数据表示法语言非常有用。您可以用与JSON非常相似的格式表示原始数据。

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