Name
SPVM::Array - Array Utilities
Usage
use Array;
# Copy a byte array
{
my $array = [(byte)1, 2, 3];
my $array_copy = Array->copy_byte($array);
}
# Copy a short array
{
my $array = [(short)1, 2, 3];
my $array_copy = Array->copy_short($array);
}
# Copy a int array
{
my $array = [1, 2, 3];
my $array_copy = Array->copy_int($array);
}
# Copy a long array
{
my $array = [(long)1, 2, 3];
my $array_copy = Array->copy_long($array);
}
# Copy a float array
{
my $array = [1.5f, 2.5f, 3.5f];
my $array_copy = Array->copy_float($array);
}
# Copy a double array
{
my $array = [1.5, 2.5, 3.5];
my $array_copy = Array->copy_double($array);
}
# Copy a string array
{
my $array = ["abc", "def", "ghi"]
my $array_copy = Array->copy_string($array);
}
# Check if the two byte arrays equal
{
my $array1 = [(byte)1, 2];
my $array2 = [(byte)1, 2];
my $ret = Array->equals_byte($array1, $array2);
}
# Check if the two short arrays equal
{
my $array1 = [(short)1, 2];
my $array2 = [(short)1, 2];
my $ret = Array->equals_short($array1, $array2);
}
# Check if the two int arrays equal
{
my $array1 = [(int)1, 2];
my $array2 = [(int)1, 2];
my $ret = Array->equals_int($array1, $array2);
}
# Check if the two long arrays equal
{
my $array1 = [(long)1, 2];
my $array2 = [(long)1, 2];
my $ret = Array->equals_long($array1, $array2);
}
# Check if the two float arrays equal
{
my $array1 = [(float)1, 2];
my $array2 = [(float)1, 2];
my $ret = Array->equals_float($array1, $array2);
}
# Check if the two double arrays equal
{
my $array1 = [(double)1, 2];
my $array2 = [(double)1, 2];
my $ret = Array->equals_double($array1, $array2);
}
# Check if the two string arrays equal
{
my $array1 = ["abc", "def"];
my $array2 = ["abc", "def"];
my $ret = Array->equals_string($array1, $array2);
}
# Copy object array
my $array = [(object)Int->new(1), Int->new(2), Int->new(3)];
my $array_copy = Array->copy_object($array, method : object ($obj : object) {
my $int_obj = (Int)$obj;
my $new_int_obj = Int->new($int_obj->value);
return $new_int_obj;
});
Description
Array
provides array utilities.
Class Methods
copy_byte
static method copy_byte : byte[] ($array : byte[], $offset : int = 0, $length : int = -1);
Create a new byte
array with $length, and copy the elements from $offset to the position proceeded by $length to the created array.
If the length is less than 0, the length to the end of the string is calculated from the length of the array and the offset.
Exceptions:
$array must be defined. Otherwise an exception is thrown.
$offset must be greater than or equal to 0. Otherwise an exception is thrown.
$offset + $length must be less than or equal to the length of $array. Otherwise an exception is thrown.
copy_double
static method copy_double : double[] ($array : double[], $offset : int = 0, $length : int = -1);
Create a new double
array with $length, and copy the elements from $offset to the position proceeded by $length to the created array.
If the length is less than 0, the length to the end of the string is calculated from the length of the array and the offset.
If the array is not defined, return undef.
Exceptions:
$array must be defined. Otherwise an exception is thrown.
$offset must be greater than or equal to 0. Otherwise an exception is thrown.
$offset + $length must be less than or equal to the length of $array. Otherwise an exception is thrown.
copy_float
static method copy_float : float[] ($array : float[], $offset : int = 0, $length : int = -1);
Create a new float
array with $length, and copy the elements from $offset to the position proceeded by $length to the created array.
If the length is less than 0, the length to the end of the string is calculated from the length of the array and the offset.
Exceptions:
$array must be defined. Otherwise an exception is thrown.
$offset must be greater than or equal to 0. Otherwise an exception is thrown.
$offset + $length must be less than or equal to the length of $array. Otherwise an exception is thrown.
copy_int
static method copy_int : int[] ($array : int[], $offset : int = 0, $length : int = -1);
Create a new int
array with $length, and copy the elements from $offset to the position proceeded by $length to the created array.
If the length is less than 0, the length to the end of the string is calculated from the length of the array and the offset.
Exceptions:
$array must be defined. Otherwise an exception is thrown.
$offset must be greater than or equal to 0. Otherwise an exception is thrown.
$offset + $length must be less than or equal to the length of $array. Otherwise an exception is thrown.
copy_long
static method copy_long : long[] ($array : long[], $offset : int = 0, $length : int = -1);
Create a new long
array with $length, and copy the elements from $offset to the position proceeded by $length to the created array.
If the length is less than 0, the length to the end of the string is calculated from the length of the array and the offset.
Exceptions:
$array must be defined. Otherwise an exception is thrown.
$offset must be greater than or equal to 0. Otherwise an exception is thrown.
$offset + $length must be less than or equal to the length of $array. Otherwise an exception is thrown.
copy_object
static method copy_object : object[] ($array : object[], $cloner : Cloner = undef, $offset : int = 0, $legnth : int = -1);
Create a new object array with $length, and clone the elements of the object array from $offset to the position proceeded by $length to the created array.
Each element is cloned by Cloner.
If the cloner is not defined, the address of each element is copied.
If the length is less than 0, the length to the end of the string is calculated from the length of the array and the offset.
Exceptions:
$array must be defined. Otherwise an exception is thrown.
$offset must be greater than or equal to 0. Otherwise an exception is thrown.
$offset + $length must be less than or equal to the length of $array. Otherwise an exception is thrown.
copy_object_address
static method copy_object_address : object[] ($array : object[], $offset : int = 0, $legnth : int = -1);
The alias for the following code using "copy_object".
my $ret = ©_object($array, undef, $offset, $length);
copy_short
static method copy_short : short[] ($array : short[], $offset : int = 0, $length : int = -1);
Create a new short
array with $length, and copy the elements from $offset to the position proceeded by $length to the created array.
If the length is less than 0, the length to the end of the string is calculated from the length of the array and the offset.
Exceptions:
$array must be defined. Otherwise an exception is thrown.
$offset must be greater than or equal to 0. Otherwise an exception is thrown.
$offset + $length must be less than or equal to the length of $array. Otherwise an exception is thrown.
copy_string
static method copy_string : string[] ($array : string[], $offset : int = 0, $length : int = -1);
Create a new string
array with $length, and copy the elements of the string
array using copy
operator from $offset to the position proceeded by $length to the created array.
If the length is less than 0, the length to the end of the string is calculated from the length of the array and the offset.
Exceptions:
$array must be defined. Otherwise an exception is thrown.
$offset must be greater than or equal to 0. Otherwise an exception is thrown.
$offset + $length must be less than or equal to the length of $array. Otherwise an exception is thrown.
copy_string_address
static method copy_string_address : string[] ($array : string[], $offset : int = 0, $length : int = -1);
Create a new string
array with $length, and copy the addresses of the elements of the string
array from $offset to the position proceeded by $length to the created array.
If the length is less than 0, the length to the end of the string is calculated from the length of the array and the offset.
Exceptions:
$array must be defined. Otherwise an exception is thrown.
$offset must be greater than or equal to 0. Otherwise an exception is thrown.
$offset + $length must be less than or equal to the length of $array. Otherwise an exception is thrown.
dump_unsigned_byte
static method dump_unsigned_byte : string ($array : byte[]);
Same as the following code using the dump operator operator, but the elements are displayed as unsigned 8-bit integer.
my $ret = dump $array;
dump_unsigned_int
static method dump_unsigned_int : string ($array : int[]);
Same as the following code using the dump operator operator, but the elements are displayed as unsigned 32-bit integer.
my $ret = dump $array;
dump_unsigned_long
static method dump_unsigned_long : string ($array : long[]);
Same as the following code using the dump operator operator, but the elements are displayed as unsigned 64-bit integer.
my $ret = dump $array;
dump_unsigned_short
static method dump_unsigned_short : string ($array : short[]);
Same as the following code using the dump operator operator, but the elements are displayed as unsigned 16-bit integer.
my $ret = dump $array;
equals_byte
static method equals_byte : int ($array1 : byte[], $array2 : byte[]);
If $array1 is not defined and $array2 is not defined, returns 1.
If $array1 is defined and $array2 is not defined, returns 0.
If $array1 is not defined, $array2 is defined, returns 0.
If $array1 is defined and $array2 is defined and the all elements of $array1 are equal to all elements of $array2, returns 1.
Otherwise return 0.
equals_double
static method equals_double : int ($array1 : double[], $array2 : double[]);
If $array1 is not defined and $array2 is not defined, returns 1.
If $array1 is defined and $array2 is not defined, returns 0.
If $array1 is not defined, $array2 is defined, returns 0.
If $array1 is defined and $array2 is defined and the all elements of $array1 are equal to all elements of $array2, returns 1.
Otherwise return 0.
equals_float
static method equals_float : int ($array1 : float[], $array2 : float[]);
If $array1 is not defined and $array2 is not defined, returns 1.
If $array1 is defined and $array2 is not defined, returns 0.
If $array1 is not defined, $array2 is defined, returns 0.
If $array1 is defined and $array2 is defined and the all elements of $array1 are equal to all elements of $array2, returns 1.
Otherwise return 0.
equals_int
static method equals_int : int ($array1 : int[], $array2 : int[]);
If $array1 is not defined and $array2 is not defined, returns 1.
If $array1 is defined and $array2 is not defined, returns 0.
If $array1 is not defined, $array2 is defined, returns 0.
If $array1 is defined and $array2 is defined and the all elements of $array1 are equal to all elements of $array2, returns 1.
Otherwise return 0.
equals_long
static method equals_long : int ($array1 : long[], $array2 : long[]);
If $array1 is not defined and $array2 is not defined, returns 1.
If $array1 is defined and $array2 is not defined, returns 0.
If $array1 is not defined, $array2 is defined, returns 0.
If $array1 is defined and $array2 is defined and the all elements of $array1 are equal to all elements of $array2, returns 1.
Otherwise return 0.
equals_object
static method static method equals_object : int ($array1 : object[], $array2 : object[], $equality_checker : EqualityChecker);
If $array1 is not defined and $array2 is not defined, returns 1.
If $array1 is defined and $array2 is not defined, returns 0.
If $array1 is not defined, $array2 is defined, returns 0.
If $array1 is defined and $array2 is defined and the all elements of $array1 are equal to all elements of $array2 using the equality checker, returns 1.
The equality checker is not defined, the address is used to check the equality.
Otherwise return 0.
equals_object_address
static method equals_object_address : int ($array1 : object[], $array2 : object[]);
The alias for the following code using "equals_object".
my $ret = &equals_object($array1, $array2, undef);
equals_short
static method equals_short : int ($array1 : short[], $array2 : short[]);
If $array1 is not defined and $array2 is not defined, returns 1.
If $array1 is defined and $array2 is not defined, returns 0.
If $array1 is not defined, $array2 is defined, returns 0.
If $array1 is defined and $array2 is defined and the all elements of $array1 are equal to all elements of $array2, returns 1.
Otherwise return 0.
equals_string
static method equals_string : int ($array1 : string[], $array2 : string[]);
If $array1 is not defined and $array2 is not defined, returns 1.
If $array1 is defined and $array2 is not defined, returns 0.
If $array1 is not defined, $array2 is defined, returns 0.
If $array1 is defined and $array2 is defined and the all elements of $array1 are equal to all elements of $array2 using the eq
operator, returns 1.
Otherwise return 0.
equals_string_address
static method equals_string_address : int ($array1 : string[], $array2 : string[]);
The alias for the following code using "equals_object_address".
my $ret = &equals_object_address($array1, $array2);
memcpy_byte
static method memcpy_byte : void ($dest : byte[], $dest_offset : int, $source : byte[], $source_offset : int, $length : int);
Copy the range of the elements of $source byte
array to the range of the elements of $dest byte
array.
The range of the elements of $source array is from $offset to the position proceeded by $length of the source.
The range of the elements of $dest array is from $dest_offset to $dest_offset + $length.
If the range of the elements of $source array and the range of the elements of $dest array overlap, the result is not guaranteed.
Exceptions:
$dest must be defined. Otherwise an exception is thrown.
$source must be defined. Otherwise an exception is thrown.
$length must be greater than or equal to 0. Otherwise an exception is thrown.
$dest_offset must be greater than or equal to 0. Otherwise an exception is thrown.
$source_offset must be greater than or equal to 0. Otherwise an exception is thrown.
$dest_offset + $length must be less than or equal to the length of $dest. Otherwise an exception is thrown.
$source_offset + $length must be less than or equal to the length of $source. Otherwise an exception is thrown.
memcpy_double
static method memcpy_double : void ($dest : double[], $dest_offset : int, $source : double[], $source_offset : int, $length : int);
Copy the range of the elements of $source double
array to the range of the elements of $dest double
array.
The range of the elements of $source array is from $offset to the position proceeded by $length of the source.
The range of the elements of $dest array is from $dest_offset to $dest_offset + $length.
If the range of the elements of $source array and the range of the elements of $dest array overlap, the result is not guaranteed.
Exceptions:
$dest must be defined. Otherwise an exception is thrown.
$source must be defined. Otherwise an exception is thrown.
$length must be greater than or equal to 0. Otherwise an exception is thrown.
$dest_offset must be greater than or equal to 0. Otherwise an exception is thrown.
$source_offset must be greater than or equal to 0. Otherwise an exception is thrown.
$dest_offset + $length must be less than or equal to the length of $dest. Otherwise an exception is thrown.
$source_offset + $length must be less than or equal to the length of $source. Otherwise an exception is thrown.
memcpy_float
static method memcpy_float : void ($dest : float[], $dest_offset : int, $source : float[], $source_offset : int, $length : int);
Copy the range of the elements of $source float
array to the range of the elements of $dest float
array.
The range of the elements of $source array is from $offset to the position proceeded by $length of the source.
The range of the elements of $dest array is from $dest_offset to $dest_offset + $length.
If the range of the elements of $source array and the range of the elements of $dest array overlap, the result is not guaranteed.
Exceptions:
$dest must be defined. Otherwise an exception is thrown.
$source must be defined. Otherwise an exception is thrown.
$length must be greater than or equal to 0. Otherwise an exception is thrown.
$dest_offset must be greater than or equal to 0. Otherwise an exception is thrown.
$source_offset must be greater than or equal to 0. Otherwise an exception is thrown.
$dest_offset + $length must be less than or equal to the length of $dest. Otherwise an exception is thrown.
$source_offset + $length must be less than or equal to the length of $source. Otherwise an exception is thrown.
memcpy_int
static method memcpy_int : void ($dest : int[], $dest_offset : int, $source : int[], $source_offset : int, $length : int);
Copy the range of the elements of $source int
array to the range of the elements of $dest int
array.
The range of the elements of $source array is from $offset to the position proceeded by $length of the source.
The range of the elements of $dest array is from $dest_offset to $dest_offset + $length.
If the range of the elements of $source array and the range of the elements of $dest array overlap, the result is not guaranteed.
Exceptions:
$dest must be defined. Otherwise an exception is thrown.
$source must be defined. Otherwise an exception is thrown.
$length must be greater than or equal to 0. Otherwise an exception is thrown.
$dest_offset must be greater than or equal to 0. Otherwise an exception is thrown.
$source_offset must be greater than or equal to 0. Otherwise an exception is thrown.
$dest_offset + $length must be less than or equal to the length of $dest. Otherwise an exception is thrown.
$source_offset + $length must be less than or equal to the length of $source. Otherwise an exception is thrown.
memcpy_long
static method memcpy_long : void ($dest : long[], $dest_offset : int, $source : long[], $source_offset : int, $length : int);
Copy the range of the elements of $source long
array to the range of the elements of $dest long
array.
The range of the elements of $source array is from $offset to the position proceeded by $length of the source.
The range of the elements of $dest array is from $dest_offset to $dest_offset + $length.
If the range of the elements of $source array and the range of the elements of $dest array overlap, the result is not guaranteed.
Exceptions:
$dest must be defined. Otherwise an exception is thrown.
$source must be defined. Otherwise an exception is thrown.
$length must be greater than or equal to 0. Otherwise an exception is thrown.
$dest_offset must be greater than or equal to 0. Otherwise an exception is thrown.
$source_offset must be greater than or equal to 0. Otherwise an exception is thrown.
$dest_offset + $length must be less than or equal to the length of $dest. Otherwise an exception is thrown.
$source_offset + $length must be less than or equal to the length of $source. Otherwise an exception is thrown.
memcpy_object_address
static method memcpy_object_address : void ($dest : object[], $dest_offset : int, $source : object[], $source_offset : int, $length : int);
Copy the range of the elements of $source object array to the range of the elements of $dest object array.
Each address is copied.
The range of the elements of $source array is from $offset to the position proceeded by $length of the source.
The range of the elements of $dest array is from $dest_offset to $dest_offset + $length.
If the range of the elements of $source array and the range of the elements of $dest array overlap, the result is not guaranteed.
Exceptions:
$dest must be defined. Otherwise an exception is thrown.
$source must be defined. Otherwise an exception is thrown.
$length must be greater than or equal to 0. Otherwise an exception is thrown.
$dest_offset must be greater than or equal to 0. Otherwise an exception is thrown.
$source_offset must be greater than or equal to 0. Otherwise an exception is thrown.
$dest_offset + $length must be less than or equal to the length of $dest. Otherwise an exception is thrown.
$source_offset + $length must be less than or equal to the length of $source. Otherwise an exception is thrown.
memcpy_short
static method memcpy_short : void ($dest : short[], $dest_offset : int, $source : short[], $source_offset : int, $length : int);
Copy the range of the elements of $source short
array to the range of the elements of $dest short
array.
The range of the elements of $source array is from $offset to the position proceeded by $length of the source.
The range of the elements of $dest array is from $dest_offset to $dest_offset + $length.
If the range of the elements of $source array and the range of the elements of $dest array overlap, the result is not guaranteed.
Exceptions:
$dest must be defined. Otherwise an exception is thrown.
$source must be defined. Otherwise an exception is thrown.
$length must be greater than or equal to 0. Otherwise an exception is thrown.
$dest_offset must be greater than or equal to 0. Otherwise an exception is thrown.
$source_offset must be greater than or equal to 0. Otherwise an exception is thrown.
$dest_offset + $length must be less than or equal to the length of $dest. Otherwise an exception is thrown.
$source_offset + $length must be less than or equal to the length of $source. Otherwise an exception is thrown.
memcpy_string_address
static method memcpy_string_address : void ($dest : string[], $dest_offset : int, $source : string[], $source_offset : int, $length : int);
The alias for "memcpy_object_address".
memmove_byte
static method memmove_byte : void ($dest : byte[], $dest_offset : int, $source : byte[], $source_offset : int, $length : int);
The same as "memcpy_byte", but even if the range of the source and the range of the destination overlap, the result is guaranteed.
memmove_double
static method memmove_double : void ($dest : double[], $dest_offset : int, $source : double[], $source_offset : int, $length : int);
The same as "memcpy_double", but even if the range of the source and the range of the destination overlap, the result is guaranteed.
memmove_float
static method memmove_float : void ($dest : float[], $dest_offset : int, $source : float[], $source_offset : int, $length : int);
The same as "memcpy_float", but even if the range of the source and the range of the destination overlap, the result is guaranteed.
memmove_int
static method memmove_int : void ($dest : int[], $dest_offset : int, $source : int[], $source_offset : int, $length : int);
The same as "memcpy_int", but even if the range of the source and the range of the destination overlap, the result is guaranteed.
memmove_long
static method memmove_long : void ($dest : long[], $dest_offset : int, $source : long[], $source_offset : int, $length : int);
The same as "memcpy_long", but even if the range of the source and the range of the destination overlap, the result is guaranteed.
memmove_object_address
static method memmove_object_address : void ($dest : object[], $dest_offset : int, $source : object[], $source_offset : int, $length : int);
The same as "memcpy_object_address", but even if the range of the source and the range of the destination overlap, the result is guaranteed.
memmove_short
static method memmove_short : void ($dest : short[], $dest_offset : int, $source : short[], $source_offset : int, $length : int);
The same as "memcpy_short", but even if the range of the source and the range of the destination overlap, the result is guaranteed.
memmove_string_address
static method memmove_string_address : void ($dest : string[], $dest_offset : int, $source : string[], $source_offset : int, $length : int);
The same as the following code using "memmove_object_address".
&memmove_object_address($dest, $dest_offset, $source, $source_offset, $length);
memset_byte
static method memset_byte : void ($array : byte[], $element : int, $offset : int = 0, $length : int = -1);
Set the range of the elements of the byte
array to $element.
The range of the elements of $array is from $offset to the position proceeded by $length.
If the length is less than 0, the length to the end of the string is calculated from the length of the array and the offset.
Exceptions:
$array must be defined.
$offset must be greater than or equal to 0. Otherwise an exception is thrown.
$offset + $length must be less than or equal to the length of $array. Otherwise an exception is thrown.
memset_double
static method memset_double : void ($array : double[], $element : double, $offset : int = 0, $length : int = -1);
Set the range of the elements of the double
array to $element.
The range of the elements of $array is from $offset to the position proceeded by $length.
If the length is less than 0, the length to the end of the string is calculated from the length of the array and the offset.
Exceptions:
$array must be defined. Otherwise an exception is thrown.
$offset must be greater than or equal to 0. Otherwise an exception is thrown.
$offset + $length must be less than or equal to the length of $array. Otherwise an exception is thrown.
memset_float
static method memset_float : void ($array : float[], $element : float, $offset : int = 0, $length : int = -1);
Set the range of the elements of the float
array to $element.
The range of the elements of $array is from $offset to the position proceeded by $length.
If the length is less than 0, the length to the end of the string is calculated from the length of the array and the offset.
Exceptions:
$array must be defined. Otherwise an exception is thrown.
$offset must be greater than or equal to 0. Otherwise an exception is thrown.
$offset + $length must be less than or equal to the length of $array. Otherwise an exception is thrown.
memset_int
static method memset_int : void ($array : int[], $element : int, $offset : int = 0, $length : int = -1);
Set the range of the elements of the int
array to $element.
The range of the elements of $array is from $offset to the position proceeded by $length.
If the length is less than 0, the length to the end of the string is calculated from the length of the array and the offset.
Exceptions:
$array must be defined. Otherwise an exception is thrown.
$offset must be greater than or equal to 0. Otherwise an exception is thrown.
$offset + $length must be less than or equal to the length of $array. Otherwise an exception is thrown.
memset_long
static method memset_long : void ($array : long[], $element : long, $offset : int = 0, $length : int = -1);
Set the range of the elements of the long
array to $element.
The range of the elements of $array is from $offset to the position proceeded by $length.
If the length is less than 0, the length to the end of the string is calculated from the length of the array and the offset.
Exceptions:
$array must be defined. Otherwise an exception is thrown.
$offset must be greater than or equal to 0. Otherwise an exception is thrown.
$offset + $length must be less than or equal to the length of $array. Otherwise an exception is thrown.
memset_object
static method memset_object : void ($array : object[], $element : object, $offset : int = 0, $length : int = -1);
Set the range of the elements of the object $array to $element.
The range of the elements of $array is from $offset to the position proceeded by $length.
If the length is less than 0, the length to the end of the string is calculated from the length of the array and the offset.
Exceptions:
$array must be defined. Otherwise an exception is thrown.
$offset must be greater than or equal to 0. Otherwise an exception is thrown.
$offset + $length must be less than or equal to the length of $array. Otherwise an exception is thrown.
memset_short
static method memset_short : void ($array : short[], $element : int, $offset : int = 0, $length : int = -1);
Set the range of the elements of the short
$array to $element.
The range of the elements of $array is from $offset to the position proceeded by $length.
If the length is less than 0, the length to the end of the string is calculated from the length of the array and the offset.
Exceptions:
$array must be defined. Otherwise an exception is thrown.
$offset must be greater than or equal to 0. Otherwise an exception is thrown.
$offset + $length must be less than or equal to the length of $array. Otherwise an exception is thrown.
memset_string
static method memset_string : void ($array : string[], $element : string, $offset : int = 0, $length : int = -1);
The alias for the following code using "memset_object".
&memset_object($dest, $element, $dest_offset, $length);
merge_byte
static method merge_byte : byte[] ($array1 : byte[], $array2 : byte[]);
Creates a new array by merging the array $array1 and the array $array2, and returns it.
Exceptions:
\$array1 must be defined. Otherwise an exception is thrown.
\$array2 must be defined. Otherwise an exception is thrown.
merge_short
static method merge_short : short[] ($array1 : short[], $array2 : short[]);
Creates a new array by merging the array $array1 and the array $array2, and returns it.
Exceptions:
\$array1 must be defined. Otherwise an exception is thrown.
\$array2 must be defined. Otherwise an exception is thrown.
merge_int
static method merge_int : int[] ($array1 : int[], $array2 : int[]);
Creates a new array by merging the array $array1 and the array $array2, and returns it.
Exceptions:
\$array1 must be defined. Otherwise an exception is thrown.
\$array2 must be defined. Otherwise an exception is thrown.
merge_long
static method merge_long : long[] ($array1 : long[], $array2 : long[]);
Creates a new array by merging the array $array1 and the array $array2, and returns it.
Exceptions:
\$array1 must be defined. Otherwise an exception is thrown.
\$array2 must be defined. Otherwise an exception is thrown.
merge_float
static method merge_float : float[] ($array1 : float[], $array2 : float[]);
Creates a new array by merging the array $array1 and the array $array2, and returns it.
Exceptions:
\$array1 must be defined. Otherwise an exception is thrown.
\$array2 must be defined. Otherwise an exception is thrown.
merge_double
static method merge_double : double[] ($array1 : double[], $array2 : double[]);
Creates a new array by merging the array $array1 and the array $array2, and returns it.
Exceptions:
\$array1 must be defined. Otherwise an exception is thrown.
\$array2 must be defined. Otherwise an exception is thrown.
merge_string
static method merge_string : string[] ($array1 : string[], $array2 : string[]);
Creates a new array by merging the array $array1 and the array $array2, and returns it.
Exceptions:
\$array1 must be defined. Otherwise an exception is thrown.
\$array2 must be defined. Otherwise an exception is thrown.
merge_object
static method merge_object : object[] ($array1 : object[], $array2 : object[]);
Creates a new array by merging the array $array1 and the array $array2, and returns it.
Exceptions:
\$array1 must be defined. Otherwise an exception is thrown.
\$array2 must be defined. Otherwise an exception is thrown.
new_proto
static method new_proto : object[] ($proto_array : object[], $length : int);
Create a new object array as the same type as $proto_array with $length.
Exceptions:
$prototype array must be defined. Otherwise an exception is thrown.
$length must be greater than or equal to 0. Otherwise an exception is thrown.
shuffle_object
static method shuffle_object : void ($array : object[], $seed_ref : int*);
Shuffles the array $array with the reference to a seed $seed_ref.
Exceptions:
$array must be defined. Otherwise an exception is thrown.
repeat_string
static method repeat_string : string[] ($strings : string[], $count : int);
Creates a new array that repeats the string $strings $count times, and returns it.
Exceptions:
$strings must be defined. Otherwise an exception is thrown.
$count must be greater than or equal to 0. Otherwise an exception is thrown.
copy_object_with_proto
static method copy_object_with_proto : object[] ($array : object[], $proto : object[], $cloner : Cloner = undef, $offset : int = 0, $length : int = -1);
The same as "copy_object", but can give the prototype array $proto for the copied array.
copy_object_address_with_proto
static method copy_object_address_with_proto : object[] ($array : object[], $proto : object[], $offset : int = 0, $length : int = -1);
The same as "copy_object_address", but can give the prototype array $proto for the copied array.
to_object_array_byte
static method to_object_array_byte : Byte[] ($array : byte[]);
Creates a new Byte array with the same length as the byte array $array, copies the elements in $array to it, and returns it.
Exceptions:
The array $array must be defined. Otherwise, an exception is thrown.
to_object_array_short
static method to_object_array_short : Short[] ($array : short[]);
Creates a new Short array with the same length as the short array $array, copies the elements in $array to it, and returns it.
Exceptions:
The array $array must be defined. Otherwise, an exception is thrown.
to_object_array_int
static method to_object_array_int : Int[] ($array : int[]);
Creates a new Int array with the same length as the int array $array, copies the elements in $array to it, and returns it.
Exceptions:
The array $array must be defined. Otherwise, an exception is thrown.
to_object_array_long
static method to_object_array_long : Long[] ($array : long[]);
Creates a new Long array with the same length as the long array $array, copies the elements in $array to it, and returns it.
Exceptions:
The array $array must be defined. Otherwise, an exception is thrown.
to_object_array_float
static method to_object_array_float : Float[] ($array : float[]);
Creates a new Float array with the same length as the float array $array, copies the elements in $array to it, and returns it.
to_object_array_double
static method to_object_array_double : Double[] ($array : double[]);
Creates a new Double array with the same length as the double array $array, copies the elements in $array to it, and returns it.
Exceptions:
The array $array must be defined. Otherwise, an exception is thrown.
to_array_byte
static method to_array_byte : byte[] ($object_array : Byte[]);
Creates a new byte array with the same length as Byte array $object_array, copies the elements in $array to it, and returns it.
Exceptions:
The array $array must be defined. Otherwise, an exception is thrown.
to_array_short
static method to_array_short : short[] ($object_array : Short[]);
Creates a new short array with the same length as Short> array $object_array, copies the elements in $array to it, and returns it.
Exceptions:
The array $object_array must be defined. Otherwise, an exception is thrown.
to_array_int
static method to_array_int : int[] ($object_array : Int[]
);>
Creates a new int array with the same length as Int array $object_array, copies the elements in $array to it, and returns it.
Exceptions:
The array $object_array must be defined. Otherwise, an exception is thrown.
to_array_long
static method to_array_long : long[] ($object_array : Long[]);
Creates a new long array with the same length as Long array $object_array, copies the elements in $array to it, and returns it.
Exceptions:
The array $object_array must be defined. Otherwise, an exception is thrown.
to_array_float
static method to_array_float : float[] ($object_array : Float[]);
Creates a new float array with the same length as Float array $object_array, copies the elements in $array to it, and returns it.
Exceptions:
The array $object_array must be defined. Otherwise, an exception is thrown.
to_array_double
static method to_array_double : double[] ($object_array : Double[]);
Creates a new double[ array with the same length as Double array $object_array, copies the elements in $array to it, and returns it.
Exceptions:
The array $object_array must be defined. Otherwise, an exception is thrown.
new_array_proto_element
static method new_array_proto_element : object[] ($proto_element : object, $length : int);
Create a new object array of the type when the prototype element $proto_element are arrayed with the length $length.
Exceptions:
The prototype element $proto_element must be defined. Otherwise an exception is thrown.
The length $length must be greater than or equal to 0. Otherwise an exception is thrown.
equals
static method equals : int ($array1 : object, $array2 : object);
Checks if the array $array1 and the array $array2 are equal.
The type of $array1 and $array2 must be a numeric array type, a multi-numeric array type, or string array type.
Implementation:
If $array1 is not defined and $array2 is not defined, returns 1.
If $array1 is defined and $array2 is not defined, returns 0.
If $array1 is not defined, $array2 is defined, returns 0.
If the type of $array1 is not equal to the type of $array2, returns 0.
If the type of $array1 is a numeric type or a muti-numeric type and every element of $array1 are equal to the corresponding index of element of $array2, returns 1, otherwise returns 0.
If the type of $array1 is string type, returns the return value of "equals_string" method.
Exceptions:
The type of the array $array1 must be an array type. Otherwise, an exception is thrown.
The type of the array $array2 must be an array type. Otherwise, an exception is thrown.
The type of the $array must be a numeric array type, a multi-numeric array type, or string array type. Otherwise, an exception is thrown.
Copyright & License
Copyright (c) 2023 Yuki Kimoto
MIT License