![]() |
Модераторы: korob2001, ginnie |
![]() ![]() ![]() |
|
grebnev |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 18.3.2006 Репутация: нет Всего: нет |
Пожалуйста, покажите как динамически (в цикле) создать массив хешей.
Т.е. как я понял массив ссылок на хеши. |
|||
|
||||
Grig |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 809 Регистрация: 29.4.2005 Где: Иркутск Репутация: нет Всего: 16 |
Наверное так:
-------------------- |
|||
|
||||
grebnev |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 18.3.2006 Репутация: нет Всего: нет |
ну а как же ссылки
я тут читаю, говорят нельзя создавать хеши хешей нужно использовать что-то вроде массива указателей в общем поэтому и возник вопрос |
|||
|
||||
grebnev |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 18.3.2006 Репутация: нет Всего: нет |
Ну в общем суть дела в следующем:
работаю с БД (использую DBI) методом $res1->fetchrow_hashref получаю из БД строку хочу сначала данные сохранить в хеш а после вывести в виде Строка(ИмяПоля->Значение, ИмяПоля->Значение, ИмяПоля->Значение) Строка(ИмяПоля->Значение, ИмяПоля->Значение, ИмяПоля->Значение) Строка(ИмяПоля->Значение, ИмяПоля->Значение, ИмяПоля->Значение) Уже использовал и хеш массивов и массив хешей и даже на определенном этапе получил результат но код изменил и теперь опять ни хр-на не работает ![]() |
|||
|
||||
grebnev |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 18.3.2006 Репутация: нет Всего: нет |
ну че ни кто ни чего не расскажет
вернее покажет заранее сенкс |
|||
|
||||
rcdimon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 766 Регистрация: 12.7.2004 Где: Москва Репутация: 1 Всего: 2 |
Теперь у тебя есть массив хешей @row Точнее массив ссылок на хеши.. ![]() Это сообщение отредактировал(а) rcdimon - 1.7.2006, 09:45 |
|||
|
||||
vumnik |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 30.5.2006 Репутация: нет Всего: нет |
А у меня вот такой примерчик. Простовато, зато всё понятно.
|
|||
|
||||
alyam |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 60 Регистрация: 2.8.2006 Репутация: нет Всего: нет |
помогите написать программку. зачет горит )
файл : user1 group1 sdvsdhgfsgf user3 group7 sdjkhksdjgfskgf user2 group3 sdjhsdjks user3 group1 нужно отсортировать в убывающем порядке и вывести в файл user - и все группы group, в которых user встречается: user3 group1,group7 user2 group3 user1 group1 |
|||
|
||||
Nab |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 582 Регистрация: 25.3.2006 Где: Kiev Репутация: 26 Всего: 37 |
Добавлено @ 14:26 ага, можно еще вот так:
тогда и группы будут отсортированы по взрастанию... -------------------- Чтобы правильно задать вопрос нужно знать больше половины ответа... Perl Community FREESCO in Ukraine |
||||
|
|||||
Danissimo |
|
||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 150 Регистрация: 14.8.2006 Где: Санкт-Петербург Репутация: 1 Всего: 1 |
а вот такое подойдет:
а вот про зачет:
|
||||
|
|||||
Nab |
|
||||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 582 Регистрация: 25.3.2006 Где: Kiev Репутация: 26 Всего: 37 |
Danissimo, извини но не надо так писать... Если учиться то сразу правильно....
Я перепишу твой код повнятней... И постараюсь описать почему...
Ну или вот эта интересная конструкция :
дает тот же результат... А теперь вот этот код:
А вот этот код:
меняем на:
Возможно использование ссылок для начинающего и непонятно, хотя вроде старался разжевать, но на тему топика тоже стоит глянуть. Здесь правда наоборот, хеш ссылок на массивы ![]() Это сообщение отредактировал(а) Nab - 16.8.2006, 13:50 -------------------- Чтобы правильно задать вопрос нужно знать больше половины ответа... Perl Community FREESCO in Ukraine |
||||||||||
|
|||||||||||
Danissimo |
|
||||||||||||||||||||||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 150 Регистрация: 14.8.2006 Где: Санкт-Петербург Репутация: 1 Всего: 1 |
Почему? Я так расуждаю, если значение переменной я могу поменять, и компилятор мне ничего про это не скажет, то с константой так не пройдет. Это верно? Если да, то почему не надо использовать constant. Я не согласен, что "редко используется" -- это аргумент.
Зачот!
Двойной ЗАЧОТ!
Хе, получается, такая штука. Предположим, что элемента $users{$name} еще не существует. И получается, что @{$users}{$name} преобразует несуществующий элемент к массиву. Тихо шифером шурша, крыша едет неспеша...
Почему "нужно"?
"сортировка и так идет строковая" -- это к чему? "кстати в задании речь шла об обратном порядке" -- а у меня как? "# [...] или лекцию про join прогулял?" -- пожалуй, что так тоже можно сказать =)
Это я не понял к чему. Вобщем, я в шоке от такого афигительного качества ответа. Пиши еще =) |
||||||||||||||||||||||||
|
|||||||||||||||||||||||||
Nab |
|
||||||||||||||||||||||||||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 582 Регистрация: 25.3.2006 Где: Kiev Репутация: 26 Всего: 37 |
Давай пока сделаем так, покажи мне в условии задачи, где речь шла о константе? По условию скорее всего там будет именно переменная а не константа. А подключение лишних модулей влияет на производительность.
Я тебе сочуствую по этому поводу... ![]() Perl очень дружественнен в этом смысле, а твоя конструкция "@{$users}{$name}" вообще безсмысленна. Я сделал опечатку (исправил кстати), но я даже не подозревал, что ты до такого додумаешься ![]() А уж если хочется сделать проверку то вот такая конструкция самое то ...
Потому что так проще код читать... он меньше места занимает и компилируется быстрее
К тому что "{$b cmp $a}" нафиг не нужно
К тому что используешь нееффективный способ сортировки, есть простая функция reverse ![]()
Что именно здесь не понятно?
Большая просьба использовать нормальный русский язык... а с таким общением на udaff.com... Это сообщение отредактировал(а) Nab - 16.8.2006, 14:16 -------------------- Чтобы правильно задать вопрос нужно знать больше половины ответа... Perl Community FREESCO in Ukraine |
||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||
Danissimo |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 150 Регистрация: 14.8.2006 Где: Санкт-Петербург Репутация: 1 Всего: 1 |
В условии про константу речи не было. Однако, ты ж рекомендуешь их вообще не использовать. Вот я и спрашиваю, почему же? Говоришь, на производительность влияет. Ок, возможно. Чем докажешь?
Наплевать на опечатку. И книжки читаю. Ты как считаешь, если б не было вопросов, спрашивал бы? Ты можешь сказать, где в документации описано, как перл "пошагово выполняет" такую конструкцию: push(@{$users{$name}}, 'x'); Хочется не проверку сделать, а понять, как перл "думает". Документация пока света не пролила. Может ты сможешь показать место в доке, из которого ясно следует, как перл в этой ситуации думает? "Потому что так проще код читать... он меньше места занимает и компилируется быстрее" -- и это все? "К тому что используешь нееффективный способ сортировки, есть простая функция reverse" -- аа, то есть сортируется все-таки правильно. А за reverse спасибо. Да, чет я не вижу среди моих вопросов вопроса о том, где и какой язык мне использовать. Пиши еще =) |
|||
|
||||
Nab |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 582 Регистрация: 25.3.2006 Где: Kiev Репутация: 26 Всего: 37 |
Доказывать ничего не собираюсь, это очевидно... Или что такое use, не знаешь?
perldoc perlreftut perldoc perldsc perldoc perllol Проверка разных конструкций как раз и позволит понять как раскрываются скобки и происходит приведение типов... Я не вижу смысла пересказывать своими словами документацию...
А этого мало? Ты же не спрашивал, а давал ответ....
В таком случае не вижу смысла в нашем общении вообще... Как правило безграмотный человек такой же код пишет, с одной стороны, а с другой, мне просто не приятно это читать ![]() ![]() -------------------- Чтобы правильно задать вопрос нужно знать больше половины ответа... Perl Community FREESCO in Ukraine |
||||||||
|
|||||||||
![]() ![]() ![]() |
Правила форума "Perl" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |