如何在 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+ 次瀏覽

開啟你的 職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.