Skip to content

evalEmpire/method-signatures

Repository files navigation

NAME

Method::Signatures - method and function declarations with signatures and no source filter

VERSION

20170211

SYNOPSIS

package Foo;

use Method::Signatures;

method new (%args) {
    return bless {%args}, $self;
}

# Can also get type checking if you like:

method set (Str $key, Int $val) {
    return $self->{$key} = $val;        # now you know $val is always an integer
}

DESCRIPTION

Provides two new keywords, func and method, so that you can write subroutines with signatures instead of having to spell out my $self = shift; my($thing) = @_

func is like sub but takes a signature where the prototype would normally go. This takes the place of my($foo, $bar) = @_ and does a whole lot more.

method is like func but specifically for making methods. It will automatically provide the invocant as $self (by default). No more my $self = shift.

INSTALLATION

This module sources are hosted on github https://github.com/evalEmpire/method-signatures.git and uses Module::Build to generate the distribution. It can be installed:

directly
cpanm git://github.com/evalEmpire/method-signatures.git
from CPAN
cpan Method::Signatures
cpanm Method::Signatures
maualy cloninig the repository:
git clone https://github.com/evalEmpire/method-signatures.git
cd method-signatures
perl Build.PL
./Build install 

REQUIREMENTS

This distribution requires Perl v5.8.1.

This distribution requires the following modules:

This distribution recommends the following modules: