[Moscow.pm] Perl 6

Victor Efimov victor на vsespb.ru
Вт Окт 13 09:22:31 PDT 2015


13 октября 2015 г., 19:14 пользователь Dmitry Kopytov
<kopytov на webhackers.ru> написал:
> On Tue, Oct 13, 2015 at 06:58:59PM +0300, Ivan Petrov wrote:
>> Хранение данных в текстовом формате - это не просто вменяемый
>> use-case, а очень часто встречающийся.
>>
>> в JS этот геморрой непрерывный от того что в атрибуте храним скажем
>> целое число, а вот вытаскиваем результат сохранения как строку.
>> и начинаются написания всяких parseInt именно из за того что какие-то
>> дебилы сделали в скриптовом языке типы и из за этих типов математика
>> начинает неадекватно реальности работать в зависимости от того где ты
>> взял чиселко: из строкового хранилища (куки, там или скажем атрибуты)
>> или из чисельного.
>
>> в Perl этого геморроя нет. и это одно из мест, которые делают Perl
>> прекрасным.
>
> В Perl 6 и Num, и Str наследуются от типа Cool, который есть «Value that
> can be treated as a string or number interchangeably». Для Cool
> определены математические операции, поэтому такой код работает:
>
>     $ perl6 -e ' my Str $a = "10"; my Int $b = 20; say $a + $b '
>     30
>
> Поэтому непонятно, о чём, собственно, спор.

наверное про это:

===
Variables can have a type constraint, which goes between the
declarator and the variable name:

    my Int $x = 42;
    $x = 'a string';    # throws an X::TypeCheck::Assignment error
===


>
> --
> Dmitry Kopytov
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org


Подробная информация о списке рассылки Moscow-pm