Lua 文本和函数在同一行打印

有人可以帮我吗?

function sum(_g, _h)
    local num = (_g * _h) / 2
    return num
end

print("The result is")(sum(10, 6))

为什么这个不起作用?

点赞
用户6245072
用户6245072

函数 print 接受一个或多个字符串作为参数。当这些字符串作为不同参数输入时,它们会通过一个制表符分隔输出。

结果为 20

要获得此输出,想象一下将 sum 的返回值存储在一个变量中:

res = sum(10, 6)

然后像在函数 sum 中输入 106 一样输入您的字符串和结果以调用 print

print("结果为 ", res)

这也可以转换为

print("结果为 ", sum(10, 6))

无需将结果存储在任何地方。

无论如何,如果您的目标输出看起来像

结果为 20

您只需将一个字符串作为 print 的参数输入

..

是将两个字符串连接成一个字符串的运算符,使得 "hello" .. "world" 结果为 "hello world"

现在将两个字符串 "结果为 "20(实际上是一个数字,但它会自动转换为字符串)与 .. 运算符组合起来,如下所示:

res = sum(10, 6)
mystring = "结果为 "
print(mystring .. res)

更简短的方式:

print("结果为 " .. sum(10, 6))
2016-04-25 13:06:10