TYPE

Syntax

TYPE (name$)

Location

TinyToolkit, BTool

The function TYPE returns the internal identification number of any variable, device name, keyword, command, function etc. as a decimal number. Each type corresponds to a certain number:

Hex

Dec

Type

Example

0001

1

undefined string

Name$

0002

2

undefined floating point

Size

0003

3

undefined integer

Age%

0201

513

string variable

Name$=”Smith”

0202

514

floating point number

Size=1.85

0203

515

integer number

Age%=38

0301

769

string array

DIM a$(10,20)

0302

770

floating point array

DIM a(221)

0303

771

integer array

DIM a%(10000)

0400

1024

BASIC PROCedure

DEFine PROCedure QUIT

0501

1281

BASIC string FuNction

DEFine FuNction Who$

0502

1282

BASIC floating point FuNction

DEFine FuNction Tm(day)

0503

1283

BASIC integer FuNction

DEFine FuNction Age%

0602

1538

REPeat loop name

REPeat forever

0702

1794

FOR loop name

FOR i=1 TO n

0800

2048

machine code procedure

RUN, ED, NEW

0900

2304

machine code function

QDOS$, VER$, FILL$

NOTE 1

Parameters must be given in quotes if you want to find out the type of the actual name, eg:

PRINT TYPE ('RUN')

If quote marks are not used, then the value of the parameter is passed instead - eg:

name$="RUN"
PRINT TYPE(name$)

will not return the type of name$ but the type of RUN.

NOTE 2

TYPE can also take any kind of expression, whether or not they are valid.

CROSS-REFERENCE

KEY_ADD and ELIS return the address where a machine code keyword is stored. DEFINED checks if a variable is set.