|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Andrei Protasovitski 2:450/186 04 Mar 2008 11:35:52 To : Subject : Re: нескалярный контекст -------------------------------------------------------------------------------- Доброго здоровья! Dmitry E. Oboukhov пишет: > например: > > my $string="abc abc dhjj abc dhjhdj abc"; > > нужно посчитать количество вхождений в строку подстроки abc > > my $abccount=$string=~/abc/g; > > не работает по вышеуказанной причине (ставится закладка а не делается > общее количество сравнений). > > скобки тоже не работают > > в итоге приходится вставлять фиктивный map: > > my $abccount=map {$_} $string=~/abc/g; > > а нельзя как-то обойтись без map и без промежуточной переменной @tmp ? my $abccount = @{ [ $string=~/abc/g ] }; > и еще задачка которую все никак не найду как изящно решать > > имеется массив @array; > избавляемся от дупов: > > { > my %t=map{ ($_, 0) } @array; > @array=keys %t; > } > > опять же как такое просто сделать без временной переменной %t? my @unique = keys %{ { map { $_ => 0 } @array } }; Hо я не сказал бы, что это просто, особенно для того, кто будет этот код читать. :) -- Andrei Protasovitski mailto: andrei.protasovitski()gmail.com --- Mozilla/5.0 (X11; U; Linux i686; ru-RU; rv:1.8.1.12) Gecko/20080201 SeaMonkey/1.1.8 * Origin: -= http://fido.ext.by (sponsored by http://extmedia.com) (2:450/186) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/276045fb80d3.html, оценка из 5, голосов 10
|