On Thu, 12 Apr 2018 18:41:56 -0700 (PDT), Thomas Lake wrote:
>
> On Wednesday, April 11, 2018 at 6:33:17 AM UTC-4, Shaun Bebbington wrote:
>> Hi,
>>
>> I found something odd today in the powerful CBM BASIC v2.0.
>>
>> Having worked with Sinclair BASIC quite a lot recently, I use GOTO X
>> where X is a valid line number (i.e., LET X = 100). But I know
>> that's not possible with Microsoft BASIC. Of course there is the ON
>> X GO TO 100,200 ...
>>
>> So I thought "I know, I'll try and use a function, could CBM BASIC
>> use this as a look up table". The following, I expected to go to the
>> value in the function A() which returns 10, but...
>>
>> 0 DEF FN A(X) = 10
>> 1 PRINT FN A(0)
>> 2 GO TO FN A(0)
>> 3 PRINT "END GRACEFULLY"
>> 4 END
>> 10 PRINT "STOP"
>> 11 STOP
>>
>> Try it for yourself. What's going on here?
>>
>> Thanks in advance.
>>
>> Shaun.
>
> You SHOULD get a syntax error. Commodore (Microsoft) BASIC is supposed
> to only allow numeric constants, not variables after GOTO and
> GOSUB.
Yes. He might solve this with some IF statements.
> What do you actually see happening?
I'd wonder if anything else than an error message.
--
Andreas
My random toughts and comments
https://news-commentaries.blogspot.com/
--- SoupGate-Win32 v1.05
* Origin: Agency HUB, Dunedin - New Zealand | FidoUsenet Gateway (3:770/3)
|