Size: a a a

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

2020 November 08

a

alex in Clojure — русскоговорящее сообщество
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Sergey Trofimov
оптимизировать тут можно другое
чтобы макрос генерил не код, делающий вставки через assoc, а сразу мапу вида
{"name" (.group matcher "name")}
удивительно, но это получилось медленнее
источник

ST

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

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
литерал мапы же вроде нельзя в макросе написать?
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Я как видишь по интам все таки забираю группы, решил, что надо до конца идти)
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Мб .group с рефлексией вызывается
источник

ST

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

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
а в hash-map будет та же итерация, что и в лупе, только медленнее
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
ладно, помучаюсь с литералом)
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Домучал, стало еще чуть побыстрее)
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Хотя я как-то очень странно сделал
источник

MP

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

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
один фиг ведь регексы руками пишутся
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
и это надо сделать один раз
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
ну, на 300+ регэкспов не хочется так делать
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Mikhail Borisov
Хотя я как-то очень странно сделал
не видно
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
а они уже написаны, и в них группы?
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
вот такое я вернул из макроса {~@mappings ~@mappings}
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
mappings это '("name" (.group matcher "name) "surname" (.group matcher "surname))
источник