Type::Tiny::Enum - Online Linux Manual Page
Section : 3pm
Updated : 2021-02-24
Source : perl v5.32.1
Note : User Contributed Perl Documentation
NAMEType::Tiny::Enum − string enum type constraints
STATUSThis module is covered by the Type-Tiny stability policy.
DESCRIPTIONEnum type constraints. This package inherits from Type::Tiny; see that for most documentation. Major differences are listed below:
Attributesvalues Arrayref of allowable value strings. Non-string values (e.g. objects with overloading) will be stringified in the constructor. constraint Unlike Type::Tiny, you cannot pass a constraint coderef to the constructor. Instead rely on the default. inlined Unlike Type::Tiny, you cannot pass an inlining coderef to the constructor. Instead rely on the default. parent Parent is always Types::Standard::Str, and cannot be passed to the constructor. unique_values The list of values but sorted and with duplicates removed. This cannot be passed to the constructor. coercion If coercion => 1 is passed to the constructor, the type will have a coercion using the closest_match method.
Methodsas_regexp Returns the enum as a regexp which strings can be checked against. If you're checking a lot of strings, then using this regexp might be faster than checking each string against my $enum = Type::Tiny::Enum−>new(...);
my $check = $enum−>compiled_check;
my $re = $enum−>as_regexp;
# fast
my @valid_tokens = grep $enum−>check($_), @all_tokens;
# faster
my @valid_tokens = grep $check−>($_), @all_tokens;
# fastest
my @valid_tokens = grep /$re/, @all_tokens;
You can get a case-insensitive regexp using $enum−>as_regexp('i'). closet_match Returns the closest match in the enum for a string. my $enum = Type::Tiny::Enum−>new(
value => [ qw( foo bar baz quux ) ],
);
say $enum−>closest_match("FO"); # ==> foo
It will try to find an exact match first, fall back to a case-insensitive match, if it still can't find one, will try to find a head substring match, and finally, if given an integer, will use that as an index. my $enum = Type::Tiny::Enum−>new(
value => [ qw( foo bar baz quux ) ],
);
say $enum−>closest_match( 0 ); # ==> foo
say $enum−>closest_match( 1 ); # ==> bar
say $enum−>closest_match( 2 ); # ==> baz
say $enum−>closest_match( −1 ); # ==> quux
Overloading• Arrayrefification calls values.
BUGSPlease report any bugs to <https://github.com/tobyink/p5−type−tiny/issues>.
SEE ALSOType::Tiny::Manual. Type::Tiny. Moose::Meta::TypeConstraint::Enum.
AUTHORToby Inkster <tobyink@cpan.org>.
COPYRIGHT AND LICENCEThis software is copyright (c) 2013−2014, 2017−2021 by Toby Inkster. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
DISCLAIMER OF WARRANTIESTHIS PACKAGE IS PROVIDED ‟AS IS” AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. 0
Johanes Gumabo
Data Size : 12,522 byte
man-Type::Tiny::Enum.3pmBuild : 2025-03-22, 13:26 :
Visitor Screen : x
Visitor Counter ( page / site ) : 1 / 1,208,839
Visitor ID : :
Visitor IP : 18.189.188.15 :
Visitor Provider : AMAZON-02 :
Provider Position ( lat x lon ) : 39.962500 x -83.006100 : x
Provider Accuracy Radius ( km ) : 1000 :
Provider City : Columbus :
Provider Province : Ohio , : ,
Provider Country : United States :
Provider Continent : North America :
Visitor Recorder : Version :
Visitor Recorder : Library :
Online Linux Manual Page : Version : Online Linux Manual Page - Fedora.40 - march=x86-64 - mtune=generic - 25.03.22
Online Linux Manual Page : Library : lib_c - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Online Linux Manual Page : Library : lib_m - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Data Base : Version : Online Linux Manual Page Database - 24.04.13 - march=x86-64 - mtune=generic - fedora-38
Data Base : Library : lib_c - 23.02.07 - march=x86-64 - mtune=generic - fedora.36
If error, please print screen and send to johanes_gumabo@yahoo.co.id
Under development. Support me via PayPal.
ERROR : Need New Coding : (parse_manual_page_|254|Type::Tiny::Enum.3pm|36/37|el══─{─══.|.el══─{─══. ds -- \|\(em\|
) (htmlprn|160|Type::Tiny::Enum.3pm|36/37|.el══─{─══. ds -- — |.el══─{─══. ds -- \|\(em\|
) (parse_manual_page_|254|Type::Tiny::Enum.3pm|43|br══─}─══|'br══─}─══
) (htmlprn|160|Type::Tiny::Enum.3pm|43|'br══─}─══ |'br══─}─══
)