2012/12/7 ksvs <[email protected]>:
> А все таки классный язык Perl.
>
> Болел и был в карантине от интернета. Под рукой только доки по haskell были - 
> забавный язык.
>
> Кончено
> add x y = x + y
> выглядит лучше, чем
> sub add { my ($x, $y) = @_; $x + $y }

use Function::Parameters qw(:strict);
fun add($x, $y) { $x + $y }

В 5.18/20 такой простой пример будет работать из коробки. Вот только
ущербный пример - никто такие маленькие функции не пишет.

Вот например в perl можно следующие сигнатуры делать:

my %args = @_%2? (xxx => @_) : (@_);

или

my $cb = pop; my @list = @_;

Модули, которые я видел для релизации "красивых" сигнатур на CPAN, не
могут повторить такие варианты.

> Но вот в конструкциях подобной
> $a{$b}{$c}[$d] ||= $e if $f;
> Perl вне конкуренции.
>
> Или можно на других языках также кратко записать?
> Например, как такое будет на Python или Erlang?

Скорее всего можно написать в многих языках, но вот vivification есть не везде.

>
> --
> Moscow.pm mailing list
> [email protected] | http://moscow.pm.org



-- 
Best regards, Ruslan.
-- 
Moscow.pm mailing list
[email protected] | http://moscow.pm.org

Ответить