|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Авг 6, 2003 18:08:46 Меня зае№%#@* эти сложные структуры данных в Перле!!! Кто-нибудь знает линк на приличный турториал, и, желательно, на русском, т.к. английский меня тоже зае№%#@*!!! Как пропарсить массив из ссылок??? Вот, положим, кладу я это дело так: push (@temp_array, [@molAB]); Кстати, а где отличие от push (@temp_array, \@molAB); Что, в первом случае массив своеобразно копируется, а во втором кладется только ссылка? Так? А шо потом мне с этим делать??? К отдельному элементу можно: $temp_array[0]->[11] = "yes"; А как ко всем элементам $temp_array[0]? А кто-нибудь знает форумы перла? Там меня обматюкают, назовут идиотом, но объяснят! |
|
|
Дата: Авг 6, 2003 18:15:20 Бля, вроде получилось. Надо отдереференсить, фух, выговорил. Где-то так:
foreach my $t ($temp_array[$i])
{
print @$t;
}
|
|
|
Дата: Авг 6, 2003 18:18:04 www.perl.ru :-))))))))) |
|
|
Дата: Авг 6, 2003 18:30:01 Я просмотрел те форумы. Я бы там был главным гуру :) А если честно, у ребят трудности с использованием пакетов. Лишь один-единственный на весь форум топик что-то там говорил про работу с хешами на уровне XS-интерфейса. Усе :( Отстойный, между нами, форум :(( |
|
|
Дата: Авг 6, 2003 18:36:58 отдереференсить Ты в порядке? :)))) Говорю переберайтесь на PHP :)))))))))))))) Как пропарсить массив из ссылок??? Да, помню эту хорошую тему :)))) Вот в этом ПРЕЛ Дзенский язык.. А если честно -- отстой, потому что чел, который его придумал потерял всякий вкус к архитектуре ЯВУ. Это единственный минус, из-за которого я ушёл от Перл :) |
|
|
Дата: Авг 6, 2003 18:38:17 volodya Ты блин что не знаешь где профи??? ЭЭх, чайник :)))) xpoint.ru!!!!! |
|
|
Дата: Авг 6, 2003 18:48:12 Edmond, а из PHP скрипта тоже можно сконвертить exe'шник? |
|
|
Дата: Авг 6, 2003 18:56:31 · Поправил: volodya Как бы так сказать. Действительно, синтаксис языка - эти кракозяблики - порой кажется, что он придуман сумасшедшим! Вот мое последнее решение:
my $i = 0;
while (defined $temp_array[$i])
{
my $s = $temp_array[$i];
my $temp = join("\t", @$s);
...
$i++;
}
Может, придет bsl_zcs, меня раскритикует. Да, кстати, помнишь топик об избавлении массива от избыточности. Ну, о моем алогритме из вежливости помолчим. Я решал это дело как сишник. bsl_zcs решал его в духе перла, но дико неэкономично! Твое решение изящнее, но и оно паскудно. Меня Славка далеко послал к algorithms.*.ru - сайт забыл. Короче, к поразрядной сортировке. Бум думать. |
|
|
Дата: Авг 6, 2003 18:57:49 Asterix Не знаю на счет экзешника, но есть Zend. Ах как кто-то когда-то меня на взлом этой штуки имел, а, Димон :) |
|
|
Дата: Авг 6, 2003 19:03:07 А что такое Zend? |
|
|
Дата: Авг 6, 2003 19:10:31 volodya А забей, есть круче ZEND :))) Они там что-то новенькое подпрятаил :))) Zend -- прикольные мужики!!! |
|
|
Дата: Авг 6, 2003 19:11:19 Только пишут на Java ФУУУУУУ |
|
|
Дата: Авг 6, 2003 19:15:58 У меня есть 3.5.0. Кажись, знаешь, где его достать тоже :) Asterix - читай zend.com. Там неплохо расписано. Смысл - байткода. |
|
|
Дата: Авг 6, 2003 19:35:00 volodya Твое решение изящнее, но и оно паскудно. Моё? Моё изящнее?? Изящнее было у bsl_zcs!!! А эффективнее не знаю... Это надо было бы проверить!!!! Вообще операции с хешами медленнее (но не факт для ПЕРЛ!!!). но и оно паскудно Ах, не бери на себя ЭТОТ ГРЕХ!!!! Я его решил с точки зрения эффективности в ПЕРЛ!!! Если бы я его решал на АСМ, то мама родная -- и свинье понятно, что решил бы по другому!!! А для Прела я повторюсь, что Перл язык интерпретируемый, и по этому как и все интерпретируемые языки Он плохо выполлняет циклы!!! Я тебе это писал. Поэтому вариант с предварительной сортировкой -- ЭТО НЕОБХОДИМОСТЬ Это как если бы я взял и часть кода вынес из твоего цикла А функции встроенные в Перл выполняются быстрее. Я всегда помню об этом на PHP. Поэтому мышление кодера в Перл и мышление кодера в Asm -- ЭТО БОЛЬШИЕ РАЗНЫЕ ВЕЩИ. Если в PHP я пытаюсь создать код так, чтобы большинство выполняли функции PHP, то в АСМЕ наоборот. А насчёт алгоритма.. Так пожалуста.. ЩАз будет!!! |
|
|
Дата: Авг 6, 2003 20:45:36 volodya А я и думать не буду!!! Чайник я чайник, зато у меня есть интуиция!!! Короче Итак, вуаля, Алгоритм (НЕТ НЕ СОРТИРОВКИ!!!!!) очистки массива от избыточных элементов Да, в математике есть несколько теорем.. но я их не знаю.. А ну и фиг... Я и сам после двух Грибов как Пифагор :))) Итак ====================================================== Алгоритм выборки с кешем. (с) Edmond Исходные данные: 1. Массив A 2. Кеш массив B 3. Абстракт выхода (для чего? для того, чтобы не уточнять куда пойдёт результат. Ясно?) ====================================================== 1. Указатель на начало массива и буффера упорядовачевания -= Состояние: 1. Указатель текущего элемента Это, то что мы сейчас читаем из массива 2. Указатель цепочки неодинаковых элементов Это указатель того элемента, с которого мы пока идём в массиве, и не встретили одинаковый элемент. (!!!) Цепочкой называется совокупность различных элементов, идущих подряд в массиве 5. Элемент сравнения (просто переменная содержащая элемент массива (может быть регистр проца)) -=-=-=-=-= Для первого элемента =-=-=-=-=-= 2.1. Читаем элемент, заносим его в буфер упорядовачевания 2.2. Сравниваем следующий элемент. Если он равен, --> абстрактный выход, 2.3 Иначе заносим в буфер, если БОЛЬШЕ в конец, иначе в начало, и сдвигаем буфер. 2.4 Если новый элемент больше предыдущего, мы его просто заносим в буфер. Теперь внимательно!!! Предположим, что элемент 2 мы занесли в буфер и он больше элемента 1 Это значит, что ЭЛЕМЕНТ СРАВНЕНИЯ = первому элементу (тому что меньше второго) Тогда. 3. Если встретился элемент который больше текущего, тогда он сравнивается с элементами кеша, пока не станет меньше. Если после сравнения с элементами буфера он не был равен, и не стал меньше какого то элемента, то он заносится в кеш. При этом заметьте!!! Алгоритм занесения элемента в кеш следующий: Элемент заносится в место перед ЭЛЕМЕНТОМ кеша, который его больше. То есть все элементы в кеше упорядочены по возрастанию. ==================================================================== Если буфер переполнен =================================== Теперь самое важное!!!!!! Если кеш переполнен, то происходит следующее. ВАРИАНТ ТУПОЙ: Выбрасывается самый младший элемент и копируется в начало массива (там типа анализ уже прошёл) В том, случае, если во время анализа массива находится элемент, который меньше чем тот, что в буфере, То он сравнивается с тем, что в начале массива. И если он меньше элемента в массиве, он занимает его место... ВАРИАНТ УМНЫЙ (фукнция распределения) =================== ЗАБЕЙ СЕНЯ ==================== В кеш НЕ ЗАНОСЯТСЯ ЭЛЕМЕНЫ которые a) меньше всех b) либо больше всех Из кеша выбрасываются элементы, которые a) Больше всех b) меньше всех Элементы которые меньше всех -- в начало массива, которые больше в конец. Если приходится выбрасывать элементы из вершины кеша, то анализ начинается с конца массива (то есть с верхнего элемента) ================== ЗАБЕЙ СЕНЯ ========================== ====================================================== |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.039 |