Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Andrey Sapozhnikov                   2:5020/400     31 Mar 2000  16:36:12
 To : All
 Subject : Re: Ещё один вопрос ;)
 -------------------------------------------------------------------------------- 
 
 Dmitriy Goldobin wrote:
 
 > > > По разному можно, все от твоего настроения зависит. Можно unpack, можно
 > > > while chomp, а в плохом настроении $var=~s/./print $?."\n"/ge; :)
 > >
 > > Вот только функцию substr забыли незаслуженно :-)
 > 
 > Кстати из 'Time Efficiency'
 > 
 > = Avoid frequent substr on long strings.
 > = Use pack and unpack instead of multiple substr invocations.
 > 
 > Вот уж не думал что развернуть в массив быстрее чем работать
 > непосредствено со строкой.
 
 Это смотря как работать.
 
 $a="X".100000;
 substr($a,50000,1)="YY";
 
 такая комбинация весьма медленна. Она РАЗДВИГАЕТ
 строку изымая 50000-й символ и вставляя вместо него
 два. Пачка таких операций будет медленнее чем
 один раз преобразовать в список (внутреннее представление
 которого - двоичное дерево) покопошиться и свернуть
 обратно в строку.
 
 А pack-ом и unpack-ом можно ВСЕ и не трогать.
 Скажем unpack("x20000 C16",$a) выдернет только
 16 символов начиная с 20000-ного.
 
 Андрей
 --- ifmail v.2.15dev4
  * Origin: Chelindbank (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: Ещё один вопрос ;)   Andrey Sapozhnikov   31 Mar 2000 16:36:12 
Архивное /ru.perl/9117ce05c9d4.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional