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