MouseX::NativeTraits::HashRef - Helper trait for HashRef attributes
package Stuff;
use Mouse;
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',
pairs => 'kv',
},
);
This module provides a Hash attribute which provides a number of hash-like
operations.
These methods are implemented in MouseX::NativeTraits::MethodProvider::HashRef.
- get($key, $key2, $key3...)
- Returns values from the hash.
In list context return a list of values in the hash for the
given keys. In scalar context returns the value for the last key
specified.
- set($key => $value, $key2 =>
$value2...)
- Sets the elements in the hash to the given values.
- delete($key, $key2, $key3...)
- Removes the elements with the given keys.
- exists($key)
- Returns true if the given key is present in the hash.
- defined($key)
- Returns true if the value of a given key is defined.
- keys
- Returns the list of keys in the hash.
- sorted_keys
- Returns the list of sorted keys in the hash.
- values
- Returns the list of values in the hash.
- kv
- Returns the key/value pairs in the hash as an array of array references.
for my $pair ( $object->options->pairs ) {
print "$pair->[0] = $pair->[1]\n";
}
- elements
- Returns the key/value pairs in the hash as a flattened list.
- clear
- Resets the hash to an empty value, like "%hash =
()".
- count
- Returns the number of elements in the hash. Also useful for not empty:
"has_options => 'count'".
- is_empty
- If the hash is populated, returns false. Otherwise, returns true.
- accessor
- If passed one argument, returns the value of the specified key. If passed
two arguments, sets the value of the specified key.
- meta
- method_provider_class
- helper_type