How can I declare / use static members in Moose?

I use Moose objects, but I need to declare static members for things that will only execute once and are not associated with the object.

Do you have any ideas or examples?

thank

Dotan.

+5
source share
3 answers

You can use MooseX :: ClassAttribute :

package SomeClass;
use Moose;
use MooseX::ClassAttribute;

class_has 'static_member' => ( is => 'rw' );

An item is accessed using SomeClass->static_member.

+6
source

I tried playing with MooseX :: ClassAttribute as a bvr suggestion, but in the end I just set them as read-only members with a default value:

has 'static_thing' => ( is => 'ro', init_arg => undef, default => 42 );

It seems easier.

+2
source

Perl

.pm file

package SomeClass;
use Moose;

my $instance_counter = 0;

around BUILDARGS => sub {
    $instance_counter += 1;
}

. . .
+2

All Articles