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.