Re: Re: Re: Re[4]: Популяризация

Alexandr Ciornii alexchorny at gmail.com
Sun Aug 8 12:56:42 PDT 2010


Привет

2010/8/8 Евгений Карпенко <notformat at gmail.com>:
>> Мы говорим о типизации, так вот сделайте мне, пожалуйста, в Java такие два
>> типа:
>> 1. "любые числа больше нуля"
>> 2. "все четные числа".
>
> Честно, я даже не знаю как это реализовать не в перле ни в джаве.

Более интересный пример: IP-адреса, Perl5
файл IPType.pm

package IPType;
use Regexp::Common 2.105;
use MooseX::Types::Moose qw( Str );
use MooseX::Types -declare => [ qw(IP) ];

subtype IP, as Str, where {
	$_ =~ /\A $RE{net}{IPv4} \z/msx
}, message {
	"'$_' is not a valid IP";
};

файл typed.pl

    use IPType qw/IP/;
    use MooseX::Lexical::Types qw/IP/;

    my IP $foo;   # declare typed variable
    $foo = '192.168.1.1';     # works
    $foo = 'bar';  # fails



-- 
Alexandr Ciornii, http://chorny.net


More information about the Kiev-pm mailing list