尝试编译我的代码时收到错误消息“ ERROR:期望的'='”。我猜想它与我的函数定义有关。有人可以帮忙吗?
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-参见此模拟器)上完美运行,但并非在每个变体上都可以正常工作。
如果用JS Basic表示这个项目,那么请意识到(根据我所知)此变体不支持DEF FN
,因此您必须使用GOSUB
。此外,参数PRINT
和INPUT
通过简单的空白(未分号)sepparated并且它是强制性的,以附加$
到每个变量名。
我对您的代码进行了调整,使其可以在这些约束下工作(在上面的JS Basic链接中可以正常运行)。为了简化比较,我将您的行号乘以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$
请注意,在此变体中,您无需在将eg与一起使用之前初始化变量INPUT
,因此您实际上并不需要第50和60行。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句