MakeMe...itable(3pm)

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

πŸ’– NAME πŸ’–

Class::MakeMethods::Template::Inheritable β€” overridable data. This is the MakeMe...itable(3pm) page, living in the User Contributed Perl Documentation, and it’s genuinely giving β€œshared value with override options” energy. ✨

✨ SYNOPSIS ✨

Okay bestie, here’s the whole vibe in code β€” every line stays exactly as written:

package MyClass;

use Class::MakeMethods( 'Template::Inheritable:scalar' => 'foo' );
# We now have an accessor method for an "inheritable" scalar value

MyClass->foo( 'Foozle' );   # Set a class-wide value
print MyClass->foo();       # Retrieve class-wide value

my $obj = MyClass->new(...);
print $obj->foo();          # All instances "inherit" that value...

$obj->foo( 'Foible' );      # until you set a value for an instance.
print $obj->foo();          # This now finds object-specific value.
...

package MySubClass;
@ISA = 'MyClass';

print MySubClass->foo();    # Initially same as superclass,
MySubClass->foo('Foobar');  # but overridable per subclass,
print $subclass_obj->foo(); # and shared by its instances
$subclass_obj->foo('Fosil');# until you override them...
...

🌸 DESCRIPTION 🌸

So this MakeMethods subclass gives you accessor methods that go searching up an inheritance tree to find a value. That means you can set a shared or default value for a given class, and optionally override it in a subclass. Slay. πŸ’…

πŸŽ€ Standard Methods πŸŽ€

These are the methods from Generic that should be supported:

scalar
string
string_index (?)
number
boolean (?)
bits (?)
array (?)
hash (?)
tiedhash (?)
hash_of_arrays (?)
object (?)
instance (?)
array_of_objects (?)
code (?)
code_or_scalar (?)

For the interfaces and behaviors of these method types, see Class::MakeMethods::Template::Generic.

The note about the * says that the items marked with a * above are specifically defined in this package, whereas the others are formed automatically by the interaction of this package’s generic settings with the code templates provided by the Generic superclass.

🫧 Heads up: the items marked with a ? above have not been tested sufficiently; please inform the author if they do not function as you would expect.

πŸ¦‹ SEE ALSO πŸ¦‹

  • For general information about this distribution, see Class::MakeMethods.
  • For more about this family of subclasses, see Class::MakeMethods::Template.
  • For information about the various accessor interfaces subclassed herein, see Class::MakeMethods::Template::Generic.
  • If you just need scalar accessors, see Class::Data::Inheritable for a very elegant and efficient implementation.

🫢 That’s the tea, bestie: this page is from perl v5.36.0, dated 2022-10-13, under the manual name MakeMe...itable(3pm). Stay iconic. πŸ’…
πŸ“¦ where this page comes from