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

Rope - Tied objects

VERSION

Version 0.06

SYNOPSIS

Quick summary of what the module does.

Perhaps a little code snippet.

        package Knot;

        use Rope;

        prototyped (
                loops => 1,
                hitches => 10,
                ...

        );

        properties {
                bends => {
                        type => sub { $_[0] =~ m/^\d+$/ ? $_[0] : die "$_[0] != integer" },
                        value => 10,
                        writeable => 0,
                        configurable => 1,
                        enumerable => 1,
                },
                ...
        };

        function add_loops => sub {
                my ($self, $loop) = @_;
                $self->{loops} += $loop;
        };

        1;

...

        my $k = Knot->new();

        say $k->{loops}; # 1;
        
        $k->{add_loops}(5);

        say $k->{loops}; # 6;

        $k->{add_loops} = 5; # errors

... and/or ...

        my $knot = Rope->new({
                name => 'Knot',
                properties => {
                        loops => 1,
                        hitches => {
                                type => Int,
                                value => 10,
                                writeable => 0,
                                enumerable => 0,
                        },
                        add_loops => sub {
                                my ($self, $loop) = @_;
                                $self->{loops} += $loop;
                        }
                }
        });

        my $with = Rope->new({
                use => [ 'Rope::Autoload' ],
                with => [ 'Knot' ],
                requires => [ qw/loops hitches add_loops/ ],
                properties => [ bends => { type => Int, configurable => 1 }, ... ]
        }, bends => 5);

        $knot->{loops};
        $with->loops;

AUTHOR

LNATION, <email at lnation.org>

BUGS

Please report any bugs or feature requests to bug-rope at rt.cpan.org, or through the web interface at https://rt.cpan.org/NoAuth/ReportBug.html?Queue=Rope. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

    perldoc Rope

You can also look for information at:

ACKNOWLEDGEMENTS

LICENSE AND COPYRIGHT

This software is Copyright (c) 2023 by LNATION.

This is free software, licensed under:

  The Artistic License 2.0 (GPL Compatible)