Получение ввода от пользователя в Lua
Как я могу получить ввод от пользователя в Lua (как scanf
в C)?
Например, программа спросит у пользователя его имя, затем он напишет его имя, затем программа выведет его имя.
2 ответов
использовать ввода-вывода.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
самый простой вход можно получить с помощью 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()
делает.