Почему этот GOTO не работает в BASIC 256?

2 Print "What is your name"
input nameperson$
Print "What is your Dad's name"
input ageperson$
Print "Your Name is ";nameperson$;" ";ageperson$
GOTO 2

Почему этот код не работает в BASIC 256? Я пробовал это в QB64, и это сработало.


person Barthdry    schedule 25.12.2020    source источник
comment
Любые сообщения об ошибках?   -  person Hans Kesting    schedule 25.12.2020
comment
Этот вопрос не имеет ничего общего с VB.NET. Пожалуйста, не спамьте тегами.   -  person jmcilhinney    schedule 25.12.2020


Ответы (1)


Прошли годы с тех пор, как я в последний раз программировал на BASIC, но я помнил, что были разные разновидности языка (то же самое было с C, Pascal и другими).

Я немного погуглил как QB64, так и Basic 256: краткий ответ заключается в том, что версия BASIC QB64 поддерживает номера строк, но Basic 256 реализовал более новую версию BASIC, которая не поддерживала номера строк.

Чтобы использовать GOTO в BASIC 256, вы должны использовать метки (любой идентификатор, за которым следует двоеточие :)

thisIsALabel: Print "What is your name" 
input nameperson$ 
Print "What is your Dad's name" 
input ageperson$ 
Print "Your Name is ";nameperson$;" ";ageperson$ 
GOTO thisIsALabel
person Roimer    schedule 25.12.2020
comment
Прошли годы с тех пор, как я в последний раз программировал на Бейсике, но я вспомнил, что там, где разные вкусы языка... разные вкусы - это тихий эвфемизм. Было хаотичное разнообразие, до такой степени, что BASIC и BASIC теперь совпадают только случайно. - person Gyro Gearloose; 25.12.2020
comment
Вполне вероятно, но не точно, что первоначальную проблему можно было исправить, просто поставив двоеточие после номера строки, например, 2: Print "What is your name". - person Jeff Zeitlin; 26.12.2020