У меня возникла проблема с чередованием кода.Looping if statement in Lua
Я сделал программу, в которой вам нужно вставить номер, и компьютер вычисляет некоторые вещи.
Моя проблема в том, что я не могу зациклировать оператор if, который запрещает пользователю вводить письмо или что-то в этом роде.
Вот кусок кода, мне нужно в цикле:
-- first number
io.write("Tell me a number: ")
a = io.read("*number")
-- typing a letter
if a == nil
then
io.write("\n", "Sorry, this is an invalid imput.", "\n")
io.write("\n", "Please tell me a number: ")
end
Не могли бы вы мне помочь?
Я только что начал программировать в Lua, и я очень смущен.
спасибо.
спасибо! На самом деле, я только начал программировать ... с нуля. Еще раз спасибо и у вас хороший день. :) –
@MatteoBini Добро пожаловать. –
В качестве побочного примечания @ Решение H2CO3 учит вас еще одному: при вводе пользователем интерактивного ввода вы всегда должны читать ввод как текст ('io.read (" * line ")'), а затем обрабатывать его, чтобы увидеть, соответствует вашим ожиданиям и соответствующим образом устраняет ошибки. 'io.read (" * number ")' используется, по существу, при чтении из файлов с известной структурой, т. е. когда вы знаете, что получите номер. По этой причине 'io.read (« * number »)' редко используется, поскольку он читается со стандартного ввода, который обычно является консолью, если не было перераспределения на уровне ОС. –