GW-BASIC 和许多其他旧的 BASIC 方言(如 C64 BASIC)允许您执行以下操作:
20 PRINT "World"
10 PRINT "Hello"
这将在RUN
执行命令/语句时产生以下输出:
Hello
World
命令/语句将LIST
列出程序:
10 PRINT "Hello"
20 PRINT "World"
换句话说,这些 BASIC 方言将自动重新排序执行以符合您使用的行号指定的顺序,而不管您最初在另一个编辑器中键入/保存它们的顺序(例如 EDLIN.EXE)。但是,QuickBASIC 和 BASCOM2 未能做到这一点。
我可以在网上找到的最古老的 QuickBASIC 版本是 QuickBASIC 2.0,它在那里不起作用,只是忽略了行号以按我写的顺序打印它们(即“World Hello”)。
BASCOM2——我能找到的最古老的 MS/IBM BASIC 编译器——显然也不支持该功能,而是因错误而失败(SQ = 乱序?):
0046 0006 10 PRINT "Hello"
^ SQ
50434 Bytes Available
50325 Bytes Free
0 Warning Error(s)
1 Severe Error(s)
虽然我当然知道行号是多余的,但支持以显式行号顺序(20、10、30 => 10、20、30)而不是隐式行号顺序(20、10、 30 => 20、10、30)。
有人知道为什么这种传统的 BASIC 行为被忽略了吗?