on goto — перейти к одной из многих меток goto
Синтаксис
on a goto foo,bar,baz
…
label foo
…
label bar
…
label baz
…
Описание
Оператор on goto использует свой числовой аргумент (между on и goto) для выбора элемента из списка меток, который следует после ключевого слова goto: если число равно 1, выполнение продолжается с первой метки; если число равно 2, то со второй и так далее. если число равно нулю или меньше, программа продолжает выполнение с позиции первой метки; если число больше, чем общее количество меток, выполнение продолжается с позиции последней метки; т.е. первая и последняя метки в списке образуют своего рода резервный интервал.
Обратите внимание, что (в отличие от команды goto) команда on goto больше не может считаться современной; люди могут (не я!) даже начать издеваться над вами, если вы ее используете.
Пример
Обратите внимание, что автоматически обнаруживается неверный ввод (число меньше 1 или больше 3); в таком случае вопрос просто выдается повторно.
Синтаксис
on a goto foo,bar,baz
…
label foo
…
label bar
…
label baz
…
Описание
Оператор on goto использует свой числовой аргумент (между on и goto) для выбора элемента из списка меток, который следует после ключевого слова goto: если число равно 1, выполнение продолжается с первой метки; если число равно 2, то со второй и так далее. если число равно нулю или меньше, программа продолжает выполнение с позиции первой метки; если число больше, чем общее количество меток, выполнение продолжается с позиции последней метки; т.е. первая и последняя метки в списке образуют своего рода резервный интервал.
Обратите внимание, что (в отличие от команды goto) команда on goto больше не может считаться современной; люди могут (не я!) даже начать издеваться над вами, если вы ее используете.
Пример
Код: Выделить всё
label over
print "Пожалуйста, выберите один из этих вариантов: "
print
print " 1 -- Показать время"
print " 2 -- Показать дату"
print " 3 -- Выйти"
print
input "Ваш выбор " a
on a goto over,show_time,show_date,terminate,over
label show_time
print time$()
goto over
label show_date
print date$()
goto over
label terminate
exit