簡體   English   中英

為什么 Lua 只打印字符串中的第一個單詞?

[英]Why is Lua only printing the first word in a string?

我正在 Lua 中編寫一個發送消息的簡單程序,但由於某種原因,它只打印字符串中的第一個單詞(例如:'Hello World:' 打印'Hello')這是到目前為止的所有代碼:

local msg = (...)
print('Message:',msg)

我對 Lua 很陌生,大約一周前開始。

當你調用一個程序時

lua some_program.lua foo bar baz

那么程序將有三個單獨的字符串 arguments:

local a, b, c = ...
print(a) -- foo
print(b) -- bar
print(c) -- baz

所以在你的情況下, (...)只給你第一個論點。

go 關於這個有兩種方法:

您可以通過引用它來確保僅使用一個長字符串參數調用程序:

lua some_program.lua "foo bar baz"

或者你可以把你通過的所有 arguments ...連接起來。 這很容易使用table.concat完成:

local msg = table.concat({...}, " ")
print("Message:", msg)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM