[英]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.