BASIC中出错:预期'='

时间:2016-01-17 01:39:47

标签: user-defined-functions basic

我在尝试编译代码时收到错误“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)

1 个答案:

答案 0 :(得分:1)

您的代码可以在许多BASIC变体上完美运行(例如AppleSoft - 请参阅this emulator),但不是每个变体都可以。

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

我调整了你的代码以在这些约束中工作(它在上面的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$

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