如何在 Lua 编程中创建命名空间?
甲命名空间是,提供了一个范围标识符里面(类型,函数,变量等的名称)的声明性区域。
简而言之,命名空间是一类元素,其中每个元素对该类都有一个唯一的名称。它用于将代码组织成逻辑组并防止可能发生的名称冲突,尤其是当您的代码库包含多个库时。
在Lua中,没有命名空间这样的东西。尽管没有提供相同的支持,但官方文档提到,“有时将代码组织成具有命名空间的包和模块以避免名称冲突并组织代码是很好的”。
由于Lua没有官方命名空间,我们必须自己创建一个,而这样做的方法是利用表。
在下面显示的代码中,我们创建了一个具有两个不同函数的命名空间,我们可以在没有编程问题的情况下使用它们。
示例
考虑下面显示的例子-
Distance = Distance or {} -- Allow addition to namespace function Distance.onedim(start, stop) return (start > stop) and start - stop or stop - start end function Distance.twodim(start, stop) local xdiff = start[1] - stop[1] local ydiff = start[2] - stop[2] local summer = xdiff * xdiff + ydiff * ydiff return math.sqrt(summer) end print(Distance.onedim(5,10))输出结果
5