Name
SPVM::Hash - Hash Data Structure
Usage
use Hash;
# Create hash
my $book = Hash->new;
my $book = Hash->new({});
my $book = Hash->new({id => 4, name => "Perl", price => 3000.0});
$book->set_int(id => 4);
$book->set_string(name => "Perl");
$book->set_double(price => 3000.0);
my $id = (int)$book->get_int("id");
my $key = (string)$book->get_string("name");
my $price = (double)$book->get_double("price");
Description
Hash
is Hash Data Structure. This is generally called associative array.
The hash function is siphash-1-3
.
Interfaces
Class Methods
new
static method new : Hash ($key_values : object[] = undef);
Create a new Hash object with key value pairs.
my $book = Hash->new;
my $book = Hash->new({});
my $book = Hash->new({id => 4, name => "Perl"});
Instance Methods
count
count : int ()
Counts keys in the hash.
copy
copy : Hash ()
Copies hash.
This is not deep copy. Address of keys and values is copied into new hash.
clone
method clone : Hash ();
The alias for the "copy".
delete
delete : object ($key : string)
Deletes a key value pair. Deleted value is returned.
exists
exists : int ($key : string)
Specify the key and check if the value exists. If exists, return 1, otherwise 0.
keys
keys : string[] ()
Gets keys. This method do not copy the strings.
values
values : object[] ()
Gets values.
get
get : object ($key : string)
Gets a value.
get_byte
get_byte : int ($key : string)
Gets the value with a $key from a Byte object.
get_short
get_short : int ($key : string)
Gets the value with a $key from a Short object.
get_int
get_int : int ($key : string)
Gets the value with a $key from a Int object.
get_long
get_long : long ($key : string)
Gets the value with a $key from a Long object.
get_float
get_float : float ($key : string)
Gets the value with a $key from a Float object.
get_double
get_double : double ($key : string)
Gets the value with a $key from a Double object.
set
set : void ($key : string, $val : object)
Sets the object $value with the $key.
set_byte
set_byte : void ($key : string, $value : int)
Sets the byte
$value with the $key. the $value is converted to Byte object.
set_short
set_short : void ($key : string, $value : int)
Sets the short
$value with the $key. the $value is converted to Short object.
set_int
set_int : void ($key : string, $value : int)
Sets the int
$value with the $key. the $value is converted to Int object.
set_long
set_long : void ($key : string, $value : long)
Sets the long
$value with the $key. the $value is converted to Long object.
set_float
set_float : void ($key : string, $value : float)
Sets the float
$value with the $key. the $value is converted to Float object.
set_double
set_double : void ($key : string, $value : double)
Sets the double
$value with the $key. the $value is converted to Double object.
set_string
set_string : void ($key : string, $value : string)
Sets the string $value with the $key.
to_array
method to_array : object[] ($sort : int = 0);
Converts the hash to an array.
If $sort is a true value, the keys are sorted by the asc order.
delete_or_default_byte
method delete_or_default_byte : int ($key : string, $default : int) {
If the $key exists, the value is deleted and returned with the type cast to byte
type.
If not, the $default value with the type cast to byte
type is returned.
delete_or_default_short
method delete_or_default_short : int ($key : string, $default : int) {
If the $key exists, the value is deleted and returned with the type cast to short
type.
If not, the $default value with the type cast to short
type is returned.
delete_or_default_int
method delete_or_default_int : int ($key : string, $default : int) {
If the $key exists, the value is deleted and returned with the type cast to int
type.
If not, the $default value is returned.
delete_or_default_long
method delete_or_default_long : long ($key : string, $default : long) {
If the $key exists, the value is deleted and returned with the type cast to long
type.
If not, the $default value is returned.
delete_or_default_float
method delete_or_default_float : float ($key : string, $default : float) {
If the $key exists, the value is deleted and returned with the type cast to float
type.
If not, the $default value is returned.
delete_or_default_double
method delete_or_default_double : double ($key : string, $default : double) {
If the $key exists, the value is deleted and returned with the type cast to double
type.
If not, the $default value is returned.
delete_or_default_string
method delete_or_default_string : string ($key : string, $default : string) {
If the $key exists, the value is deleted and returned with the type cast to string
type.
If not, the $default value is returned.
delete_or_default
method delete_or_default : object ($key : string, $default : object) {
If the $key exists, the value is deleted and returned.
If not, the $default value is returned.
Copyright & License
Copyright (c) 2023 Yuki Kimoto
MIT License