GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  CLASS::METHODMAKER::SCALAR (3)

.ds Aq ’

NAME

Class::Method::scalar - Create methods for handling a scalar value.

CONTENTS

SYNOPSIS



  package MyClass;
  use Class::MethodMaker
    [ scalar => [qw/ a -static s /]];

  sub new {
    my $class = shift;
    bless {}, $class;
  }

  package main;

  my $m = MyClass->new;
  my $a, $x;

  $a = $m->a;       # *undef*
  $x = $m->a_isset; # false
  $a = $m->a(1);    # 1
  $m->a(3);
  $x = $m->a_isset; # true
  $a = $m->a;       # 3
  $a = $m->a(5);     # 5;
  $m->a_reset;
  $x = $m->a_isset; # false



DESCRIPTION

Creates methods to handle array values in an object. For a component named x, by default creates methods x, x_reset, x_isset, x_clear.

Methods available are:

*



  $m->a(3);
  $a = $m->a;       # 3
  $a = $m->a(5);     # 5;



Created by default. If an argument is provided, the component is set to that value. The method returns the value of the component (after assignment to a provided value, if appropriate).

*_reset



  $m->a_reset;



Created by default. Resets the component back to its default. Normally, this means that *_isset will return false, and * will return undef. If -default is in effect, then the component will be set to the default value, and *_isset will return true. If -default_ctor is in effect, then the default subr will be invoked, and its return value used to set the value of the component, and *_isset will return true.

<B>Advanced NoteB>: actually, defaults are assigned as needed: typically, the next time a the value of a component is read.

*_isset



  print $m->a_isset ? "true" : "false";



Created by default. Whether the component is currently set. This is different from being defined; initially, the component is not set (and if read, will return undef); it can be set to undef (which is a set value, which also returns undef). Having been set, the only way to unset the component is with <*_reset>.

If a default value is in effect, then <*_isset> will always return true.

*_clear



  $m->a(5);
  $a = $m->a;       # 5
  $x = $m->a_isset; # true
  $m->a_clear;
  $a = $m->a;       # *undef*
  $x = $m->a_isset; # true



Created by default. A shorthand for setting to undef. Note that the component will be set to undef, not reset, so *_isset will return true.

*_get



  package MyClass;
  use Class::MethodMaker
    [ scalar => [{*_get => *_get}, a],
      new    => new, ];

  package main;
  my $m = MyClass->new;
  $m->a(3);
  $a = $m->a_get;     # 3
  $a = $m->a_get(5);  # 3; ignores argument
  $a = $m->a_get(5);  # 3; unchanged by previous call



Created on request. Retrieves the value of the component without setting (ignores any arguments passed).

*_set



  package MyClass;
  use Class::MethodMaker
    [ scalar => [{*_set => *_set}, a],
      new    => new, ];

  package main;
  my $m = MyClass->new;
  $m->a(3);
  $a = $m->a_set;     # *undef*
  $a = $m->a_set(5);  # *undef*; value is set but not returned
  $a = $m->a;         # 5



Created on request. Sets the component to the first argument (or undef if no argument provided). Returns no value.

Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 CLASS::METHODMAKER::SCALAR (3) 2016-03-17

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.