繁体   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