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
].此外,PRINT
和 INPUT
的参数由一个简单的空格(不是分号)分隔,并且必须将 $
附加到每个变量名称。
我调整了你的代码以在这些限制内工作(它在上面的 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 行。
我在尝试编译代码时收到错误 "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
].此外,PRINT
和 INPUT
的参数由一个简单的空格(不是分号)分隔,并且必须将 $
附加到每个变量名称。
我调整了你的代码以在这些限制内工作(它在上面的 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 行。