|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Serg 2:5020/400 30 Dec 2002 23:54:52 To : Dmitry Lisitsin Subject : Сравнение массивов --------------------------------------------------------------------------------
Sat Dec 28 2002 16:50, Dmitry Lisitsin wrote to All:
DL> Поскольку в программировании я _полный_ чайник, решил задачу в лоб, в два
DL> цикла: в первом перебирается "новый" массив и построчно сравнивается со
DL> всеми строками "старого" -- так находятся измененные и новые строки; во
DL> втором -- "старый" построчно с "новым", так находятся строки удаленные
DL> (отсутствующие в "новом").
Пожалуй пишу не в тему ибо действительно это надо в алгоритмы идти, но у меня
уже вопрос к тебе. В первом цикле ты перебираешь новый массив. Построчно
сравниваешь со вторым - это у меня еще укладывается. Hо вот КАК ты определяешь
- элемент изменился или элемент добавился? Hапример:
Массивы:
1-й: 2-й:
aaa aaa
bbb bbbb
ccc hhh
ddd ccc
ddd
Где 2-й элемент 2-го массива - измененый элемент первого массива, а 3-й
элемент - добавленный. Или предполагается, что элементы добавляются только в
конец массива?
А то я давно уже мечтаю написать прогу для определения того, что ИЗМЕHИЛОСЬ и
КАК в реестре винды. Вроде бы достаточно сохранить старый вариант рееста,
провести с ним махинации (напр. установить прогу), сохранить новый и
сравнивать их. Hо вот загвоздка встает именно в том, что элементы могут и
добавляться и изменяться (про удаляться я вообще молчу:) ).
Дабы это не абсолютно уж косило под оффтопик задам такой вопрос: есть функции
в перле, которые бы подобной бодягой занимались?:) И заодно еще вопрос:
возможно ли удалять (добавлять) элементы в массив где-нибудь посередине? Если
да, то как? (имеются ввиду встроенные способы, ибо не встроенные я и сам
знаю:) )
--- ifmail v.2.15dev5
* Origin: FidoNet Online - http://www.fido-online.com (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/1667915fd1d98.html, оценка из 5, голосов 10
|