首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 更多程式設計知識

Lua 字串連接 (..) 與長度 (#) 運算子完全指南

     編輯:更多程式設計知識

Lua 提供兩個專屬字串運算子:..(連接)與 #(長度),簡潔強大,是字串處理的核心工具。

運算子說明表

運算子功能範例結果
..字串連接"Hello " .. "World""Hello World"
#取得字串長度(位元組數)#"Hello"5

程式範例

a = "Hello "
b = "World"

print("Concatenation of string a with b is ", a .. b)
print("Length of b is ", #b)
print("Length of literal is ", #"Test")

執行結果

Concatenation of string a with b is Hello World
Length of b is 5
Length of literal is 4

關鍵特性與注意事項

  • 自動型別轉換:.. 會嘗試將數字轉為字串(10 .. 20 → "1020"),但表格/函數需先 tostring()。
  • 長度定義:#s 回傳位元組數,非字元數。UTF-8 中文一佔 3 位元組,#"中文" == 6。
  • 效能陷阱:大量字串連接請用 table.concat(),避免 s = s .. x 產生大量中間字串導致 GC 壓力。
  • 元表支援:可透過 __concat、__len 自訂表格/物件的連接與長度行為。

進階範例:高效建構大字串

local parts = {}
for i = 1, 10000 do
    parts[i] = tostring(i)
end
local big_string = table.concat(parts, ", ")  -- 單次配置記憶體,極快
print(#big_string)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved