The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Language::Befunge::Storage::Generic::Sparse - a generic N-dimensional LaheySpace

VERSION

version 5.000

SYNOPSIS

# create a 3-dimensional LaheySpace.
my $torus = Language::Befunge::Storage::Generic::Sparse->new(3);
$torus->clear();
$torus->store(<<"EOF");
12345
67890
\fabcde
fghij
EOF

Note you usually don't need to use this module directly. Language::Befunge::Interpreter can optionally use it.

DESCRIPTION

This module implements an N-dimensional storage space, as a sparse hash. The values in the hash are keyed by coordinate strings, as created by stringifying a Vector object.

CONSTRUCTOR

new( dimensions )

Creates a new Lahey Space.

PUBLIC METHODS

clear( )

Clear the torus.

get_value( vector )

Return the number stored in the torus at the specified location. If the value hasn't yet been set, it defaults to the ordinal value of a space (ie, #32).

/!\ As in Funge, code and data share the same playfield, the number returned can be either an instruction or a data (or even both... Eh, that's Funge! :o) ).

set_value( vector, value )

Write the supplied value in the torus at the specified location.

/!\ As in Funge, code and data share the same playfield, the number stored can be either an instruction or a data (or even both... Eh, that's Funge! :o) ).

EXTERNAL METHODS

Several methods are inherited from the Language::Befunge::Storage base class. These methods are:

store
store_binary
get_char
get_dims
rectangle
expand
min
max
labels_lookup
_labels_try

Please see the documentation of that module for more information.

BUGS

None known. Please inform me if you find one.

SEE ALSO

<Language::Befunge::Storage>, Language::Befunge::Storage::2D::Sparse.

AUTHOR

Jerome Quelin

COPYRIGHT AND LICENSE

This software is copyright (c) 2003 by Jerome Quelin.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.