MakeMe...essors(3pm)

πŸ“¦
version 1.01 Β· 5 versions
, in ubuntu noble, ubuntu resolute, ubuntu stonking

πŸ’– NAME πŸ’–

Class::MakeMethods::Emulator::accessors β€” literally emulating the accessors module, no cap. Also, the page header is out here being all shy and truncated as MakeMe...essors(3pm), but bestie, you found her πŸ’…


✨ SYNOPSIS ✨

Okay so imagine you want chaining accessors. It’s giving:

package Foo;
use Class::MakeMethods::Emulator::accessors qw( foo bar baz );

my $obj = bless {}, 'Foo';

# generates chaining accessors:
$obj->foo( 'hello ' )
    ->bar( 'world' )
    ->baz( "!\n" );

print $obj->foo, $obj->bar, $obj->baz;

This module also defines subpackages for the classic and chaining subclasses, bestie:

package Bar;
use Class::MakeMethods::Emulator::accessors;
use Class::MakeMethods::Emulator::accessors::classic qw( foo bar baz );

my $obj = bless {}, 'Bar';

# always return the current value, even on set:
$obj->foo( 'hello ' ) if $obj->bar( 'world' );

print $obj->foo, $obj->bar, $obj->baz( "!\n" );

🌸 DESCRIPTION 🌸

This module emulates the functionality of the accessors module, using Class::MakeMethods to generate similar methods. Iconic behavior, honestly.

In particular, the following lines are equivalent β€” like, literally equivalent, fr fr:

use accessors 'foo';
use Class::MakeMethods::Template::Hash 'scalar --get_set_chain' => 'foo';

use accessors::chained 'foo';
use Class::MakeMethods::Template::Hash 'scalar --get_set_chain' => 'foo';

use accessors::classic 'foo';
use Class::MakeMethods::Template::Hash 'scalar' => 'foo';

You may use this module directly, as shown in the SYNOPSIS above. Periodt.

Furthermore, you may call use Class::MakeMethods::Emulator::accessors '-take_namespace'; to alias the accessors namespace to this package, and subsequent calls to the original package will be transparently handled by this emulator. To remove the emulation aliasing, call use Class::MakeMethods::Emulator::accessors '-release_namespace'. The same mechanism is also available for the classic and chained subclasses.

⚠️ Caution: This affects all subsequent uses of the accessors module in your program, including those in other modules, and might cause unexpected effects. So like… be careful, bestie 😭

πŸ¦‹ SEE ALSO πŸ¦‹

  • See Class::MakeMethods for general information about this distribution.
  • See Class::MakeMethods::Emulator for more about this family of subclasses.
  • See accessors for documentation of the original module.

okay bye bestie 🫢 β€” this iconic little page is from perl v5.36.0, dated 2022-10-13, and it lives under User Contributed Perl Documentation. mwah πŸ’‹

πŸ“¦ where this page comes from