История изменений
Исправление
gh0stwizard,
(текущая версия)
:
Потому что массив в перле не считается объектом в философском плане, а считается кучей значений через запятую. Если хочешь отделить, юзай референсы — это и есть объекты в питонячьем, например, понимании.
Все верно, однако есть вариант идти через прототип функции:
#!/usr/bin/perl
sub mymap(&\@;@) {
map &{$_[0]}, @{$_[1]};
}
@a = (1..3);
@b = (4..6);
print $_, "\n" for mymap { $_ * $_ } @a, @b;
Минус в том, что прототип работает только в рамках своего модуля. Извне пример выше надо делать так: mymap(sub { $_ * 3 }, \@list);
Исходная версия
gh0stwizard,
:
Потому что массив в перле не считается объектом в философском плане, а считается кучей значений через запятую. Если хочешь отделить, юзай референсы — это и есть объекты в питонячьем, например, понимании.
Все верно, однако есть вариант идти через прототип функции:
#!/usr/bin/perl
sub mymap(&\@;@) {
map &{$_[0]}, @{$_[1]};
}
@a = (1..3);
@b = (4..6);
print $_, "\n" for mymap { $_ * $_ } @a, @b;