- Posts: 13
- Joined: Fri Jan 23, 2015 11:31 am
I have been reading some Spectrum Basic programming books, I was wondering if a variable can have the same name as an array, i.e.
Both seem to be allowed by the Spectrum Basic interpreter, but clearly bad programming practise to have an array the same name as a variable.
- Posts: 913
- Joined: Thu May 08, 2008 9:30 am
- Location: Dauernheim, Germany
- Posts: 5
- Joined: Thu Aug 09, 2018 9:06 am
That is quite common to BASIC interpreters. Variables are saved on different stacks and any checking is on that stack so you can sometimes have A (float), A% (integer), A(..) (array) and A$ (string). Yes, confusing, but it is best practice to use longer variable names anyway if possible (not always easy in 16K and impossible in 1K). On the BBC Micro, variable A to Z (float) and A% to Z% (integer) were actually at fixed addresses so referencing them was incredibly fast.
- Posts: 2999
- Joined: Mon Sep 26, 2011 10:56 am
- Location: Looking forward to summer in Somerset, UK...
Yeah, keep in mind that on the ZX Spectrum the array name can only be a single letter.
Simple numeric variables with the same name can coexist with numeric array variables with the same name.
But you cannot have a simple string variable with the same name as a string array variable.
Also variable names are not case sensitive.