|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Alexander P. Russkih 2:468/75 08 Feb 2004 20:05:41 To : All Subject : Re: Выборка из массив -------------------------------------------------------------------------------- .MSGID: 2:468/75@fidonet 49ef152a .REPLY: 4ax.com f2abc29b .RFC-Path: home.dialup!not-for-mail .RFC-Message-ID: <c05q95$qkn$1@home.dialup> .RFC-References: <1076191793@f30.n5056.z2> <812c209cstabd0u662lv2akp54phtu2vkj@4ax.com> .RFC-NNTP-Posting-Host: home.dialup .RFC-X-Trace: home.dialup 1076259941 27287 192.168.1.1 (8 Feb 2004 17:05:41 GMT) .RFC-X-Complaints-To: usenet@home.dialup .RFC-NNTP-Posting-Date: Sun, 8 Feb 2004 17:05:41 +0000 (UTC) .RFC-X-Accept-Language: ru, uk, en-us, en .RFC-In-Reply-To: <812c209cstabd0u662lv2akp54phtu2vkj@4ax.com> From: "Alexander P. Russkih" <olden@home.dialup> Reply-To: rs_alex@bigfoot.com Ivan Frolcov wrote: >>Есть некий массив @mass >>Hеобходимо в цикле получать данные из >>этого массива блоками по 4. >>Как можно такое сделать? > > map { [ @mass[4*$_..4*$_+3 ] ] } (0..@mass%4) решение конечно рабочее, но несколько неэфективное на больших размерах массива. если в массиве 100000 элементов, то сначала будет построен список 1, 2, 3, ... , 25000 и только затем передан для перебора в map. в данном случае можно сказать, что ты показал пример _как_ _не_ _надо_ _делать_. имхо в общем случае замена цикла на map не оправдывается. map - очень удобный инструмент для изменения значений перебираемых элементов! -- XMMS: Чартова Дюжина (Участники) - Кипелов - Вавилон --- Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5) Gecko/20031007 * Origin: Registered Linux User #341226 (2:468/75@fidonet) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/1265229844.html, оценка из 5, голосов 10
|