Clownfish::Symbol - Abstract base class for Clownfish symbols.
Clownfish::Symbol serves as an abstract parent class for entities which may live in the global namespace, such as classes, functions, methods, and variables.
my $symbol = MySymbol->new( parcel => 'Crustacean', # default: special exposure => 'parcel', # required class_name => 'Crustacean::Lobster', # default: undef class_cnick => undef, # default: special micro_sym => 'average_lifespan', # required );
parcel - A Clownfish::Parcel, or a string that can be used to create/retrieve one. If not supplied, will be assigned to the default Parcel.
exposure - The scope in which the symbol is exposed. Must be 'public', 'parcel', 'private', or 'local'.
class_name - A optional class name, consisting of one or more components separated by "::". Each component must start with a capital letter, contain at least one lower-case letter, and consist entirely of the characters [A-Za-z0-9].
class_cnick - The C nickname associated with the supplied class name. If not supplied, will be derived if possible from class_name by extracting the last class name component.
class_name
micro_sym - The local identifier for the symbol.
Getters.
Get a string prefix, delegating to parcel member var.
parcel
if ( $sym->public ) { do_x() } elsif ( $sym->parcel ) { do_y() }
Indicate whether the symbol matches a given access level.
do_stuff() if $sym->equals($other_sym);
Returns true if the symbols are "equal", false otherwise.
# e.g. "Lobster_average_lifespan" print $symbol->short_sym;
Returns the C representation for the symbol minus the parcel's prefix.
# e.g. "crust_Lobster_average_lifespan" print $symbol->full_sym;
Returns the fully qualified C representation for the symbol.
Copyright 2008-2011 Marvin Humphrey
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install KSx::Simple, copy and paste the appropriate command in to your terminal.
cpanm
cpanm KSx::Simple
CPAN shell
perl -MCPAN -e shell install KSx::Simple
For more information on module installation, please visit the detailed CPAN module installation guide.