The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

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

VERSION

version 5.000

SYNOPSIS

    # create a 3-dimensional LaheySpace.
    my $torus = Language::Befunge::Storage::Generic::AoA->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 uses it internally, for non-2-dimensional storage. For 2-dimensional storage, Language::Befunge::Storage::2D is used instead, because it is more efficient.

DESCRIPTION

This module implements an N-dimensional storage space, as an array of arrays.

CONSTRUCTOR

new( dimensions )

Creates a new Lahey Space.

PUBLIC METHODS

clear( )

Clear the torus.

expand( vector )

Expand the torus to include the provided point.

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
    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.

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.