Aion
view release on metacpan or search on metacpan
lib/Aion/Types.md view on Meta::CPAN
## StrDateTime
ÐаÑа и вÑÐµÐ¼Ñ Ð² ÑоÑмаÑе `yyyy-mm-dd HH:MM:SS`.
```perl
"2012-12-01 00:00:00" ~~ StrDateTime # -> 1
"2012-12-01 00:00:00 " ~~ StrDateTime # -> ""
```
## StrMatch[regexp]
СопоÑÑавлÑÐµÑ ÑÑÑÐ¾ÐºÑ Ñ ÑегÑлÑÑнÑм вÑÑажением.
```perl
' abc ' ~~ StrMatch[qr/abc/] # -> 1
' abbc ' ~~ StrMatch[qr/abc/] # -> ""
```
## ClassName
ÐÐ¼Ñ ÐºÐ»Ð°ÑÑа â ÑÑо Ð¿Ð°ÐºÐµÑ Ñ Ð¼ÐµÑодом `new`.
```perl
'Aion::Type' ~~ ClassName # -> 1
'Aion::Types' ~~ ClassName # -> ""
```
## RoleName
ÐÐ¼Ñ Ñоли â ÑÑо Ð¿Ð°ÐºÐµÑ Ð±ÐµÐ· меÑода `new`, Ñ `@ISA` или Ñ Ð¾Ð´Ð½Ð¸Ð¼ лÑбÑм меÑодом.
```perl
package ExRole1 {
sub any_method {}
}
package ExRole2 {
our @ISA = qw/ExRole1/;
}
'ExRole1' ~~ RoleName # -> 1
'ExRole2' ~~ RoleName # -> 1
'Aion::Type' ~~ RoleName # -> ""
'Nouname::Empty::Package' ~~ RoleName # -> ""
```
## StrRat
СÑÑоковое пÑедÑÑавление ÑаÑионалÑнÑÑ
ÑиÑел.
Так как в perl ÑаÑионалÑнÑе ÑиÑла поддеÑживаÑÑÑÑ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¿ÑÐ°Ð³Ð¼Ñ `bigrat`, коÑоÑÑй вÑе ÑаÑионалÑнÑе ÑиÑла пÑевÑаÑÐ°ÐµÑ Ð² `Math::BigRat`, Ñо иÑполÑзÑеÑ...
```perl
"6/7" ~~ StrRat # -> 1
"-6/7" ~~ StrRat # -> 1
"+6/7" ~~ StrRat # -> 1
6 ~~ StrRat # -> 1
"inf" ~~ StrRat # -> 1
"+Inf" ~~ StrRat # -> 1
"NaN" ~~ StrRat # -> 1
"-nan" ~~ StrRat # -> 1
6.5 ~~ StrRat # -> 1
"6.5 " ~~ StrRat # -> ''
```
## Rat
РаÑионалÑнÑе ÑиÑла. СокÑаÑение Ð´Ð»Ñ `Object['Math::BigRat']`. ÐÐ¼ÐµÐµÑ Ð¿Ñиведение.
```perl
use Math::BigRat;
use Math::BigFloat;
use Math::BigInt;
"6/7" ~~ Rat # -> ""
Math::BigRat->new("6/7") ~~ Rat # -> 1
```
## Num
ЧиÑла.
```perl
-6.5 ~~ Num # -> 1
6.5e-7 ~~ Num # -> 1
"6.5 " ~~ Num # -> ""
```
## PositiveNum
ÐоложиÑелÑнÑе ÑиÑла.
```perl
0 ~~ PositiveNum # -> 1
0.1 ~~ PositiveNum # -> 1
-0.1 ~~ PositiveNum # -> ""
-0 ~~ PositiveNum # -> 1
```
## Float
ÐаÑинное ÑиÑло Ñ Ð¿Ð»Ð°Ð²Ð°ÑÑей запÑÑой ÑоÑÑавлÑÐµÑ 4 байÑа.
```perl
-4.8 ~~ Float # -> 1
-3.402823466E+38 ~~ Float # -> 1
+3.402823466E+38 ~~ Float # -> 1
-3.402823467E+38 ~~ Float # -> ""
```
## Double
ÐаÑинное ÑиÑло Ñ Ð¿Ð»Ð°Ð²Ð°ÑÑей запÑÑой ÑоÑÑавлÑÐµÑ 8 байÑ.
```perl
use Scalar::Util qw//;
-4.8 ~~ Double # -> 1
'-1.7976931348623157e+308' ~~ Double # -> 1
'+1.7976931348623157e+308' ~~ Double # -> 1
( run in 1.864 second using v1.01-cache-2.11-cpan-d8267643d1d )