BASIC 错误:应为“=”

Error in BASIC: expected '='

我在尝试编译代码时收到错误 "ERROR: expected '='"。我猜这与我的函数定义有关。有人可以帮忙吗?

1  REM declare function
2  DEF FNS(a) = a * a
3
4  REM declare variables
5  LET numOne = 0.0
6  LET answer = 0.0
7
8  REM get input from user
9  INPUT "Enter a number: "; numOne
10
11 REM get answer
12 answer = FNS(numOne)
13
14 REM display answer
15 PRINT "Answer: "; FNS(numOne)

您的代码将在许多 BASIC 变体(例如 AppleSoft - 参见 this emulator)上完美运行,但并非在所有变体上都能完美运行。

如果 JS Basic 你的意思是 this project,那么意识到这个变体(据我所知)不支持 DEF FN,所以你将不得不使用 GOSUB ].此外,PRINTINPUT 的参数由一个简单的空格(不是分号)分隔,并且必须将 $ 附加到每个变量名称。

我调整了你的代码以在这些限制内工作(它在上面的 JS Basic link 中运行良好)。我将您的行号乘以 10 以方便比较。

00  GOTO 35
05
10  REM Subroutine SQUARE
15  REM Input: arg$ Output: result$
20  result$ = arg$ * arg$
25  RETURN
30
35  REM Program Start
40  REM declare variables
50  numOne$ = 0.0
60  answer$ = 0.0
70
80  REM get input from user
90  INPUT "Enter a number: " numOne$
100
110 REM get answer by calling SQUARE subroutine
112 arg$ = numOne$
115 GOSUB 10
120 answer$ = result$
130
140 REM display answer
150 PRINT "Answer: " answer$

请注意,在此变体中,您不必在使用之前初始化变量,例如INPUT,所以你真的不需要第 50 和 60 行。