Skip to content

DATA-blocks with labels #319

@tommy-carlier

Description

@tommy-carlier

Currently, you can READ values from DATA-lines and use RESTORE to start reading from the top again.

A possible enhancement is to allow a label before a DATA-line, and pass that label to the RESTORE-statement to start reading from that line.

Example:

RESTORE @block1
GOSUB @processData
RESTORE @block2
GOSUB @processData
END

@processData
DO
    READ i%
    IF i% < 0 THEN EXIT DO
    PRINT i%
LOOP

@block1
DATA 1, 2, 3, 4, -1

@block2
DATA 5, 6, 7, 8, -1

A further enhancement is to allow an END-value in a DATA-line that marks the end of a block of DATA-lines. Reading the END-value results in an "out of data" error.

Example:

RESTORE @block1
GOSUB @processData
RESTORE @block2
GOSUB @processData
END

@processData
ON ERROR GOTO @endOfData
DO
    READ i%
    PRINT i%
LOOP
@endOfData
ON ERROR GOTO 0

@block1
DATA 1, 2, 3, 4, END

@block2
DATA 5, 6, 7, 8, END

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions