我怎样才能从用户在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