Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Moose::Meta::AttributeUsertContributed:Perl:Dottribute::Native::Trait::Hash(3)

NAME
       Moose::Meta::Attribute::Native::Trait::Hash - Helper trait for HashRef
       attributes

VERSION
       version 2.2013

SYNOPSIS
	 package Stuff;
	 use Moose;

	 has 'options' => (
	     traits    => ['Hash'],
	     is	       => 'ro',
	     isa       => 'HashRef[Str]',
	     default   => sub {	{} },
	     handles   => {
		 set_option	=> 'set',
		 get_option	=> 'get',
		 has_no_options	=> 'is_empty',
		 num_options	=> 'count',
		 delete_option	=> 'delete',
		 option_pairs	=> 'kv',
	     },
	 );

DESCRIPTION
       This trait provides native delegation methods for hash references.

PROVIDED METHODS
   get($key, $key2, $key3...)
       Returns values from the hash.

       In list context it returns a list of values in the hash for the given
       keys. In	scalar context it returns the value for	the last key
       specified.

       This method requires at least one argument.

   set($key => $value, $key2 =>	$value2...)
       Sets the	elements in the	hash to	the given values. It returns the new
       values set for each key,	in the same order as the keys passed to	the
       method.

       This method requires at least two arguments, and	expects	an even	number
       of arguments.

   delete($key,	$key2, $key3...)
       Removes the elements with the given keys.

       In list context it returns a list of values in the hash for the deleted
       keys. In	scalar context it returns the value for	the last key
       specified.

   keys
       Returns the list	of keys	in the hash.

       This method does	not accept any arguments.

   exists($key)
       Returns true if the given key is	present	in the hash.

       This method requires a single argument.

   defined($key)
       Returns true if the value of a given key	is defined.

       This method requires a single argument.

   values
       Returns the list	of values in the hash.

       This method does	not accept any arguments.

   kv
       Returns the key/value pairs in the hash as an array of array
       references.

	 for my	$pair (	$object->option_pairs )	{
	     print "$pair->[0] = $pair->[1]\n";
	 }

       This method does	not accept any arguments.

   elements
       In list context,	this returns the key/value pairs in the	hash.

       In scalar context, this returns the count of keys plus values.  In
       other words, it's the same as keys times	two.

       This method does	not accept any arguments.

   clear
       Resets the hash to an empty value, like "%hash =	()".

       This method does	not accept any arguments.

   count
       Returns the number of elements in the hash. Also	useful to check	for a
       nonempty	hash, because "count" returns a	true (nonzero) value if	there
       is something in the hash: "has_options => 'count'".

       This method does	not accept any arguments.

   is_empty
       If the hash is populated, returns false.	Otherwise, returns true.

       This method does	not accept any arguments.

   accessor($key)
   accessor($key, $value)
       If passed one argument, returns the value of the	specified key. If
       passed two arguments, sets the value of the specified key.

       When called as a	setter,	this method returns the	value that was set.

   shallow_clone
       This method returns a shallow clone of the hash reference.  The return
       value is	a reference to a new hash with the same	keys and values.  It
       is shallow because any values that were references in the original will
       be the same references in the clone.

   Why no "each"?
       We have deliberately omitted a method for "each", due to	its stateful
       interaction with	the hash iterator. Using "keys"	or "kv"	is much	safer.

   Moose::Meta::Attribute->meta
       This will return	a Class::MOP::Class instance for this class.

       It should also be noted that Class::MOP will actually bootstrap this
       module by installing a number of	attribute meta-objects into its
       metaclass.

BUGS
       See "BUGS" in Moose for details on reporting bugs.

AUTHORS
       o   Stevan Little <stevan.little@iinteractive.com>

       o   Dave	Rolsky <autarch@urth.org>

       o   Jesse Luehrs	<doy@tozt.net>

       o   Shawn M Moore <code@sartak.org>

       o   xxxx	x<section>xx'xx	(Yuval Kogman) <nothingmuch@woobling.org>

       o   Karen Etheridge <ether@cpan.org>

       o   Florian Ragwitz <rafl@debian.org>

       o   Hans	Dieter Pearcey <hdp@weftsoar.net>

       o   Chris Prather <chris@prather.org>

       o   Matt	S Trout	<mst@shadowcat.co.uk>

COPYRIGHT AND LICENSE
       This software is	copyright (c) 2006 by Infinity Interactive, Inc.

       This is free software; you can redistribute it and/or modify it under
       the same	terms as the Perl 5 programming	language system	itself.

perl v5.32.0			Moose::Meta::Attribute::Native::Trait::Hash(3)

NAME | VERSION | SYNOPSIS | DESCRIPTION | PROVIDED METHODS | BUGS | AUTHORS | COPYRIGHT AND LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Moose::Meta::Attribute::Native::Trait::Hash&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help