如何在 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

更新于: 19-7-2021

1K+ 次浏览

开启你的 职业生涯

完成课程获得认证

开始
广告