The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Name

SPVM::Immutable::StringList - Immutable string array

Usage

  use Immutable::StringList;
  
  # Create a string list
  my $list = Immutable::StringList->new;
  my $list = Immutable::StringList->new(["abc", "def", "ghi"]);
  
  # Create a string list
  my $list = Immutable::StringList->new_len(10);
  
  # Get list length
  my $length = $list->length;
  
  # Get string value.
  my $element = $list->get(2);
  
  # Convert Immutable::StringList to string array.
  my $array = $list->to_array;

Description

The Immutable::StringList class has methods to manipulate an immutable string array.

Fields

length

  has length : ro int;

Gets the length field.

This field is the length of the elements of the list.

Class Methods

new

  static method new : Immutable::StringList ($array = undef : string[]);

Create a new Immutable::StringList object using "new_len".

The passed length to "new_len" is the length of the array. If the array is undef, the length is 0.

The each string of the array is copied and to each value of the the created array and each string is made read-only.

Examples:

  my $list = Immutable::StringList->new;
  my $list = Immutable::StringList->new(["abc", "def", "ghi"]);

new_len

  static method new_len : Immutable::StringList ($length : int);

Creates a new Immutable::StringList object with the $length.

Exceptions:

The $length must be greater than or equal to 0. Otherwize an exception is thrown.

Instance Methods

get

  method get : string ($index : int);

Gets the element of the position of the $index.

Exceptions:

The $index must be greater than or equal to 0. Otherwize an exception is thrown.

The $index must be less than the length of the $list. Otherwize an exception is thrown.

to_array

  method to_array : string[] ();

Converts the list to an array.

Copyright & License

Copyright (c) 2023 Yuki Kimoto

MIT License