Size: a a a

Clojure — русскоговорящее сообщество

2021 February 10

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Anton Chikin
Это sorted-set, ordered-set гарантирует сохранение порядка в порядке вставки
а если попытаться вставить существующий элемент, то какой порядок получится?
с учётом первой вставки или последней?
и почему именно такой вариант правильный?
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
короче, исходная задача начисто вырвана их контекста, и нет смысла гадать
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Sergey Trofimov
а если попытаться вставить существующий элемент, то какой порядок получится?
с учётом первой вставки или последней?
и почему именно такой вариант правильный?
Хороший вопрос. Вроде насколько я помню идея такая что если элемент уже существует, то он не вставляется и соответственно порядок остается старым
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Т.е. ровно то что нужно для задачи выше
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Sergey Trofimov
а если попытаться вставить существующий элемент, то какой порядок получится?
с учётом первой вставки или последней?
и почему именно такой вариант правильный?
иначе у тебя по сути пропадает порядок - ты вставляешь существующий элемент, он удаляется со старого места и вставляется в конец - порядок нарушен
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Иван Федоров
А кто-то видел, кстати какую-то таблицу с бенчем разных функ?
есть хорошая книга Clojure: The Essential Reference, там правда не в виде сводной таблички, но есть
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Anton Chikin
иначе у тебя по сути пропадает порядок - ты вставляешь существующий элемент, он удаляется со старого места и вставляется в конец - порядок нарушен
если “порядок” означает “порядок попыток вставки”, то он нарушается, когда моя вставка игнорируется 😊
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Sergey Trofimov
если “порядок” означает “порядок попыток вставки”, то он нарушается, когда моя вставка игнорируется 😊
Ну слушай, программирование - это на самом деле довольно субъективная дисциплина. Можно как угодно считать и в текущем моменте ты скорее всего найдешь на гитхабе библиотеку которая разделяет твои взгляды 🙂 Я вот ожидал бы именно так как описал выше.
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Anton Chikin
Ну слушай, программирование - это на самом деле довольно субъективная дисциплина. Можно как угодно считать и в текущем моменте ты скорее всего найдешь на гитхабе библиотеку которая разделяет твои взгляды 🙂 Я вот ожидал бы именно так как описал выше.
да я прикалываюсь просто
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Sergey Trofimov
да я прикалываюсь просто
Да я понимаю 🙂
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
но конвертировать исходный вектор в ordered set — ещё одна сомнительная идея
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Anton Chikin
Ну слушай, программирование - это на самом деле довольно субъективная дисциплина. Можно как угодно считать и в текущем моменте ты скорее всего найдешь на гитхабе библиотеку которая разделяет твои взгляды 🙂 Я вот ожидал бы именно так как описал выше.
Даже для тех кто с этим не согласен есть технологии где главный лозунг - there is only one way to do it 🙂
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Sergey Trofimov
но конвертировать исходный вектор в ordered set — ещё одна сомнительная идея
Ну опять же я например не молочу гигабайты данных, поэтому придерживаюсь идеологии что если где-то есть некая опердень которая решает твою проблему в одну строчку - надо ее использовать чтобы не мейнтейнить лишний код 🙂
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
К сожалению @cIojure не пояснил нам, что это за задача такая
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Sergey Trofimov
К сожалению @cIojure не пояснил нам, что это за задача такая
Ну я так примерно понимаю. У тебя есть некие упорядоченные повторяющиеся записи - тебе надо показать уникальные сохраняя порядок
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Ну как например в айфоне в пропущенных - звонили Вася, Коля(2 раза), Мама (8 раз) и незнакомый номер
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
а я предполагаю, что автора интересовали именно разные способы записи одного и того же алгоритма, а сам алгоритм был выбран от балды 😊
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Anton Chikin
Ну как например в айфоне в пропущенных - звонили Вася, Коля(2 раза), Мама (8 раз) и незнакомый номер
ну, в этом примере у тебя ещё и количество, это уже другая задача 😊
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
Anton Chikin
Ну как например в айфоне в пропущенных - звонили Вася, Коля(2 раза), Мама (8 раз) и незнакомый номер
по сути строится мапа (номер => последняя дата звонка), а потом сорт по убыванию даты
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Ivan Grishaev
по сути строится мапа (номер => последняя дата звонка), а потом сорт по убыванию даты
Ну это когда у тебя есть дата
источник