充分利用在Lua用户输入(Getting input from the user in Lua)

2019-07-31 03:16发布

我怎样才能从用户在Lua输入(如scanf在C)?
例如,程序要求用户自己的名字,然后他写了他的名字,然后程序会输出自己的名字。

Answer 1:

使用io.read()要注意的是该函数可以用不同的参数进行定制。 这里有些例子。

 s = io.read("*n") -- read a number
 s = io.read("*l") -- read a line (default when no parameter is given)
 s = io.read("*a") -- read the complete stdin
 s = io.read(7) -- read 7 characters from stdin
 x,y = io.read(7,12) -- read 7 and 12 characters from stdin and assign them to x and y
 a,b = io.read("*n","*n") -- read two numbers and assign them to a and b


Answer 2:

最简单的输入可以使用检索到的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() 请参阅API read()在这里 。

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



文章来源: Getting input from the user in Lua
标签: input lua