Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
List::Objects::WithUtiUserRContributedbPerlsDocithUtils::Role::Array::Typed(3)

NAME
       List::Objects::WithUtils::Role::Array::Typed - Type-checking array
       behavior

SYNOPSIS
	 # Via List::Objects::WithUtils::Array::Typed ->
	 use List::Objects::WithUtils 'array_of';
	 use Types::Standard -all;
	 use List::Objects::Types -all;

	 # Array of Ints:
	 my $arr = array_of Int() => (1,2,3);

	 # Array of array objects of Ints (coerced from	ARRAYs):
	 my $arr = array_of TypedArray[Int] => [1,2,3],	[4,5,6];

DESCRIPTION
       This role makes use of Type::Tie	to add type-checking behavior to
       List::Objects::WithUtils::Role::Array consumers.

       The first argument passed to the	constructor should be a	Type::Tiny
       type (or	other object conforming	to Type::API, as of "v2.25"):

	 use Types::Standard -all;
	 my $arr = array_of Str() => qw/foo bar	baz/;

       Elements	are checked against the	specified type when the	object is
       constructed or new elements are added.

       If the initial type-check fails,	a coercion is attempted.

       Values that cannot be coerced will throw	an exception.

       Also see	Types::Standard, List::Objects::Types

   type
       Returns the Type::Tiny type the object was created with.

   untyped
       Returns a (shallow) clone that is a plain
       List::Objects::WithUtils::Array.

       Since most methods that return a	new list will (attempt to) return a
       list object of the same type as their parent, this can be useful	to
       avoid type check	failures in a method chain that	creates	intermediate
       lists.

AUTHOR
       Jon Portnoy <avenj@cobaltirc.org> with significant contributions	from
       Toby Inkster (CPAN: TOBYINK)

perl v5.32.1		       List::Objects::WithUtils::Role::Array::Typed(3)

NAME | SYNOPSIS | DESCRIPTION | AUTHOR

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=List::Objects::WithUtils::Role::Array::Typed&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help