Name
SPVM::Long - A long value as An Object
Description
Long class in SPVM represents a long value as an object.
Usage
my $long_object = Long->new(5L);
my $long_value = $long_object->value;
$long_object->set_value(10L);
# New unsigned object
my $unsigned_long = Long->new_unsigned(0xFFFFFFFFFFFFFFFFL); # 18446744073709551615
Details
This class is automatically loaded.
Interfaces
Stringable =item * Cloneable
Fields
value
has value : rw long;
The value.
If the "unsigned" field is 1, the value is treated as an unsigned 64-bit integer (0 to 18446744073709551615).
If the "is_read_only" field is 1, a compilation error or a runtime error occurs when setting the value.
is_read_only
has is_read_only : ro byte;
If this value is 1, the "value" field is read-only.
unsigned
has unsigned : rw byte;
If this value is 1, the value is treated as an unsigned 64-bit integer.
Class Methods
new
static method new : Long ($value : long);
Creates a new Long object with a long $value. The "unsigned" field is initialized to 0.
new_unsigned
static method new_unsigned : Long ($value : long);
Creates a new Long object with a long $value. The "unsigned" field is initialized to 1.
Instance Methods
make_read_only
method make_read_only : void ();
Sets "is_read_only" field to 1.
clone
method clone : Long ();
Creates a new Long object that clones this object.
The "unsigned" field is copied to the new object.
The value of "is_read_only" field in the new object is 0.
to_string
method to_string : string ();
Casts the value to string type and returns it.
If "unsigned" field is 1, the value is converted to a string as an unsigned 64-bit integer.
Copyright & License
Copyright (c) 2023 Yuki Kimoto
MIT License