[Moscow.pm] String to Hash ФОРМУЛИРОВКА ЗАДАЧИ

German german на itkm.ru
Вт Фев 9 10:58:03 PST 2010


То есть, это не об этом частном случае - практически всегда задача здесь не 
формулируется. Ну, представьте, что вы хотите дать эту задачу на семинаре 
для решения студентам. Это и была бы нормальная формулировка. Без такой 
формулировки не вполне понятно что собственно делается. Причем я даже 
вспоминаю случаи, когда на хорошем форуме два года висит задача. Два года 
предлагаются разные решения совершенно разных задач. Наконец кто-то 
догадывается сформулировать эту задачу. И через 15 минут появлется 
единственно правильное решение.

Теперь поконкретнее...
Вообще задачу всегда интересней видеть полностью...
Если данных много - то чаще всего база данных будет работать быстрее сама по 
себе (то есть решение не средствами перл, а средствами базы данных почти 
всегда быстрее)

Но никто никогда не формулирует задчу - обычно предлагается что-то решить на 
середине, хотя эффективней оказывается другой путь.

Но все каким-то образом догадываются о чем речь, и чего нужно. Интересно 
было бы просто услышать формулировку задачи

Но типа такой: есть строки в файле нужно найти одинаковые (или выбросить 
повторяющиеся). Решение одно, и довольно понятное

Или -Есть база данных со списками доменов, и почему-то этих доменов много, 
чуть ли не сто. Ну что же за вопрос - все равно можно легко перестроить и 
проиндексировать базу данных так, чтобы искалось все почти мгновенно. Можно 
действительно сделать и табличку или копию таблицы в памяти (с обратным 
порядком доменов).

А так - не совсем понятно зачем хеш? Только для того, чтобы убрать 
повторяющиеся значения? А уникальный индекс не будет работать? Вроде шла 
речь о том, что данных много и они все равно уже в базе данных. Мне кажется, 
почти любая база данных сработает быстрее внутри себя самой, если не 
требуется сверхсложных преобразований данных.

Герман


----- Original Message ----- 
From: "Eugene Kaltashkin" <zhecka на gmail.com>
To: "Moscow.pm group" <moscow-pm на pm.org>
Sent: Monday, February 08, 2010 22:34
Subject: [Moscow.pm] String to Hash


> Кто-нить сталкивался с таким преобразованием у себя в проектах ?
> имеем данные в виде "a=b,c=d,e=f"  и тыды, нужно получить хеш на выходе.
> Искал штатный метод, но не нашёл
> написал своё. пока получились 2е вот такие функции.
>
>          HASHSUBSTR => sub { foreach (split /,/,$v) {
> $hash{substr($_,0,index($_,"="))} = substr($_,rindex($_,"=")+1); } },
>          HASHSPLIT => sub { foreach (split /,/,$v) { my ($u,$b) =
> split(/=/,$v); $hash{$u}=$b; } },
>
> первая быстрее чем вторая.
> Быстрее можно сделать ?
> Как думаете ?
>
> -- 
> Best Regards
> ZHECKA-RIPN
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
> 



Подробная информация о списке рассылки Moscow-pm