从用户处获取Lua输入

如何在 Lua 中从用户获取输入(类似于 C 中的 scanf)?

例如,程序要求用户输入他的名字,然后用户输入名字,程序将输出他的名字。

点赞
用户221509
用户221509

最简单的输入可以使用io.read()检索。 这将从标准输入读取一行(通常是键盘,但可以重定向,例如从文件读取)。

您可以像这样使用它:

io.write'Hello,what is your name? 'local name = io.read()
io.write'Nice to meet you,',name,'!\n'

io.read()只是io.input():read()的快捷方式,同样io.write()io.output():write()的快捷方式。 请参阅此处的read()API

请注意,io.write()不会自动终止您的行,就像print()一样。

2012-08-22 09:19:50
用户1560049
用户1560049

使用 io.read() 注意该函数可以通过不同的参数进行自定义。以下是一些示例。

s = io.read("*n") -- 读取一个数字
s = io.read("*l") -- 读取一行(默认值为无参数)
s = io.read("*a") -- 读取完整的stdin
s = io.read(7) -- 从stdin读取7个字符
x,y = io.read(7,12) -- 从stdin读取7个和12个字符,并将它们分配给x和y
a,b = io.read("*n","*n") -- 读取两个数字并将它们分配给a和b
2012-08-22 09:40:32