Получение входных данных от пользователя в Lua



Как я могу получить ввод от пользователя в Lua (например, scanf в C)?

Например, программа спросит у пользователя его имя, затем он запишет свое имя, после чего программа выведет его имя.

719   2  

2 ответов:

Используйте 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

Простейшие входные данные могут быть получены с помощью 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().

Comments

    Ничего не найдено.