The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Как образумить map() ?"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Как образумить map() ?"
Сообщение от DerinI emailИскать по авторуВ закладки on 18-Июл-03, 18:00  (MSK)
  Добрый день.

  В ходе своей борьбы за оптимизацию просчета массива я обнаружил интересную функцию Perl map(). Судя по инструкции она должна была применять заданное выражение или функцию ко всем элементам списка. Ура !!!! решил я и написал

  @tmp = map( s/\)/ / )@tmp ; # удалим )

  Perl молча проглотил мой скрипт, но в ответ вернул массив из 8129 1 (единиц) Почесав затылок я заметил соответствие между числом единиц и числом строк исходного массива. Т. е. он заменил каждую строчку массива на результат s///
  Как же его образумить ?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Как образумить map() ?"
Сообщение от planar emailИскать по авторуВ закладки on 19-Июл-03, 11:19  (MSK)
>  Добрый день.
>
>  В ходе своей борьбы за оптимизацию просчета массива я обнаружил
>интересную функцию Perl map(). Судя по инструкции она должна была применять
>заданное выражение или функцию ко всем элементам списка. Ура !!!! решил
>я и написал
>
>  @tmp = map( s/\)/ / )@tmp ; # удалим )
>
>
>  Perl молча проглотил мой скрипт, но в ответ вернул массив
>из 8129 1 (единиц) Почесав затылок я заметил соответствие между числом
>единиц и числом строк исходного массива. Т. е. он заменил каждую
>строчку массива на результат s///
>  Как же его образумить ?


map этого не делает. Она, можно сказать, эквивалент if. Для того, чтобы получить то что тебе надо, используй grep.


  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Как образумить map() ?"
Сообщение от poor bugger Искать по авторуВ закладки on 19-Июл-03, 11:54  (MSK)
@tmp=map{ s/\)//g; +$_} @tmp;

греп однако ловчее

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Как образумить map() ?"
Сообщение от poor bugger Искать по авторуВ закладки on 19-Июл-03, 12:04  (MSK)
однако нет
с грепом та же тема
  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Как образумить map() ?"
Сообщение от planar emailИскать по авторуВ закладки on 19-Июл-03, 13:26  (MSK)
@area = grep(s/pattern//,@area); - точно работает.
  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру