Duplicate Fighter (Анти-дубликатор)
-
- Posts: 6840
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Duplicate Fighter (Анти-дубликатор)
Захотелось создать альтернативу плагину SortStrings по части работы с дубликатами строк.
Last edited by Shmuel on Tue 18 Oct, 2022 18:22, edited 2 times in total.
-
- Posts: 6840
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Duplicate Fighter (Анти-дубликатор)
Кто-нибудь может объяснить, зачем нужна "очистка" строки-дубликата, т.е. замена её пустой строкой? В чём смысл?
Я сделал такую операцию, поскольку она есть в плагине SortStrings, но что-то не могу понять, зачем это может понадобиться.
Удалить дубликат - понятно, а очистить - не очень.
Я сделал такую операцию, поскольку она есть в плагине SortStrings, но что-то не могу понять, зачем это может понадобиться.
Удалить дубликат - понятно, а очистить - не очень.
-
- Posts: 6840
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Duplicate Fighter (Анти-дубликатор)
Заменил в первом сообщении вложение на версию 2.
- Справка - как коммент в начале файла (пока только на английском).
- Вместо меню - диалог.
- Добавилась (опциональная) возможность использовать Lua-выражения.
- Почти не тестировалось, буду благодарен за багрепорты.
- Справка - как коммент в начале файла (пока только на английском).
- Вместо меню - диалог.
- Добавилась (опциональная) возможность использовать Lua-выражения.
- Почти не тестировалось, буду благодарен за багрепорты.
Duplicate Fighter (Анти-дубликатор)
Я самим макро еще не пользовался, а только почитал справку, т.е. комментарий в начале файла. И у меня такие замечания:
1.
2. (главное) Мне кажется, было бы логичнее, если бы дупликатами считались строки, для которых булевский результат выражения true, а не false. Т.е. смысл выражения таков: "Это -- дупликат?"
1.
2. (главное) Мне кажется, было бы логичнее, если бы дупликатами считались строки, для которых булевский результат выражения true, а не false. Т.е. смысл выражения таков: "Это -- дупликат?"
-
- Posts: 6840
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Duplicate Fighter (Анти-дубликатор)
fml2, спасибо за ваши замечания.
По поводу справки: ещё буду редактировать, сравню с вашим вариантом.
По поводу трактовки булевого результата: вначале сделал именно так, как вы предлагаете, то-есть true означал дубликат. Но потом поймал себя на ощущении, что мне важнее определить, что хочется оставить, чем то, что хочется удалить, после чего сделал как сейчас. Буду думать ещё.
По поводу справки: ещё буду редактировать, сравню с вашим вариантом.
По поводу трактовки булевого результата: вначале сделал именно так, как вы предлагаете, то-есть true означал дубликат. Но потом поймал себя на ощущении, что мне важнее определить, что хочется оставить, чем то, что хочется удалить, после чего сделал как сейчас. Буду думать ещё.
Duplicate Fighter (Анти-дубликатор)
Я согласен, что возможны обе трактовки. Но тогда надо бы заголовок поля "Expression" сделать более информативным, т.е. чтобы прямо в диалоге было понятно, что означает выражение (true -- это "оставить" или "стереть"?).Shmuel wrote:Но потом поймал себя на ощущении, что мне важнее определить, что хочется оставить, чем то, что хочется удалить
-
- Posts: 6840
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Duplicate Fighter (Анти-дубликатор)
Заменил в первом сообщении вложение на версию 3.
- Справка поправлена и расширена.
- При отсутствии выделения обрабатывается весь файл.
- Изменена и упрощена логика определения дубликатов (описано в справке).
Любые замечания и предложения приветствуются.
- Справка поправлена и расширена.
- При отсутствии выделения обрабатывается весь файл.
- Изменена и упрощена логика определения дубликатов (описано в справке).
Любые замечания и предложения приветствуются.
-
- Posts: 6840
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Duplicate Fighter (Анти-дубликатор)
Пустые строки равны друг другу, поэтому воспринимаются как дубликаты и удаляются.
Можно, конечно, обойти это:
А может опцию добавить стоит?
Можно, конечно, обойти это:
Code: Select all
╔═══════════════════════ Duplicate Fighter ═══════════════════════╗
║ ║
║ (•) 1 Remove duplicates ║
║ ( ) 2 Clear duplicates ║
║ ( ) 3 Remove non-uniques ║
║ ( ) 4 Clear non-uniques ║
║ ║
║ [x] Use Expression [ ] Convert to boolean ║
║ Expression: ║
║ L~="" and L ↓║