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 )