NAME
Devel::Ladybug::Hash - Hashtable object
DESCRIPTION
Extends Devel::Ladybug::Object to handle Perl HASH refs as Devel::Ladybug Objects. Provides constructor, getters, setters, "Ruby-esque" collection, and other methods which one might expect a Hash table object to respond to.
SYNOPSIS
use Devel::Ladybug::Hash;
my $hash = Devel::Ladybug::Hash->new();
my $hashFromNonRef = Devel::Ladybug::Hash->new(%hash); # Makes new ref
my $hashFromRef = Devel::Ladybug::Hash->new($hashref); # Keeps orig ref
PUBLIC INSTANCE METHODS
$hash->each($sub), yield(item, [item, ...]), emit(item, [item...])
Ruby-esque key iterator method. Returns a new Devel::Ladybug::Array, containing the yielded results of calling the received sub for each key in $hash.
$hash->each is shorthand for $hash->keys->each, so you're really calling
each
in Devel::Ladybug::Array.yield
andemit
are exported by Devel::Ladybug::Array. Please see the documentation for Devel::Ladybug::Array regarding usage ofeach
,yield
, andemit
.# # For example, quickly wrap <a> tags around array elements: # my $tagged = $object->each( sub { my $key = shift; print "Key $key is $object->{$key}\n"; yield("<a name=\"$key\">$object->{$key}</a>"); } );
$self->keys()
Returns an Devel::Ladybug::Array object containing self's alpha sorted keys.
my $hash = Devel::Ladybug::Hash->new(foo=>'alpha', bar=>'bravo'); my $keys = $hash->keys(); print $keys->join(','); # Prints out "bar,foo"
$self->values()
Returns an Devel::Ladybug::Array object containing self's values, alpha sorted by key.
my $hash = Devel::Ladybug::Hash->new(foo=>'alpha', bar=>'bravo'); my $values = $hash->values(); print $values->join(','); # Prints out "bravo,alpha"
$self->set($key,$value);
Set the received instance variable. Extends Devel::Ladybug::Object::set to always use Devel::Ladybug::Hash and Devel::Ladybug::Array when it can.
my $hash = Devel::Ladybug::Hash->new(foo=>'alpha', bar=>'bravo'); $hash->set('bar', 'foxtrot'); # bar was "bravo", is now "foxtrot"
$self->count
Returns the number of key/value pairs in self
$self->isEmpty()
Returns true if self's count is 0, otherwise false.
SEE ALSO
This file is part of Devel::Ladybug.