Lua - 字串連線



字串連線是將兩個或多個字串組合在一起的過程,在大多數程式語言中,這可以透過使用賦值運算子來實現。

在 Lua 中,賦值運算子不能用於字串連線。

示例

考慮以下示例:

main.lua

str1 = "tutorials"
str2 = "point"
-- will throw an error
s = str1 + str2
print(s)

輸出

lua: main.lua:4: attempt to perform arithmetic on global 'str1' (a string value)
stack traceback:
	main.lua:4: in main chunk
	[C]: ?

因此,最直接的方法是使用連線關鍵字,用 .. **(兩個點)** 表示。

讓我們考慮幾個 Lua 中連線關鍵字的示例。

示例

考慮以下示例:

main.lua

str1 = "tutorials"
str2 = "point"
s = str1..str2
print(s)

輸出

tutorialspoint

示例

考慮以下示例:

main.lua

message = "Hello, " .. "world!"
print(message)

輸出

Hello, world!

需要注意的是,Lua 不允許增強連線。

示例

考慮以下示例:

main.lua

str1 = "tutorials"
str2 = "point"
str1 ..= str2
print(str1)

輸出

lua: main.lua:3: '=' expected near '..'

還需要注意的是,每當我們使用連線運算子時,內部都會建立一個新的字串,並在該字串上進行連線,當我們想要將多個字串連線到一個字串中時,這種方法存在效能問題。

另一種方法是使用 table.concat 函式。

示例

考慮以下示例:

main.lua

numbers = {}
for i=1,10 do
numbers[i] = i
end
message = table.concat(numbers)
print(message)

輸出

12345678910
廣告
© . All rights reserved.