Size: a a a

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

2019 September 03

MG

Mikhail Gusarov in Clojure — русскоговорящее сообщество
@achikin Куча стейта внутри не означает, что этот стейт не производный.
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Mikhail Gusarov
@achikin Куча стейта внутри не означает, что этот стейт не производный.
см. выше
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
Anton Chikin
Полюбуйся сколько там стейта внутри
Сколько?
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Очень много
источник

MG

Mikhail Gusarov in Clojure — русскоговорящее сообщество
В документации этого стейта нет, следовательно это оптимизации.
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Тупо хотя бы на этот метод посмотрите
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
public Matcher matcher(CharSequence input) {
       if (!compiled) {
           synchronized(this) {
               if (!compiled)
                   compile();
           }
       }
       Matcher m = new Matcher(this, input);
       return m;
   }
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
может быть скомпайлен а может и нет
источник

MG

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

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
Anton Chikin
public Matcher matcher(CharSequence input) {
       if (!compiled) {
           synchronized(this) {
               if (!compiled)
                   compile();
           }
       }
       Matcher m = new Matcher(this, input);
       return m;
   }
Это оптимизация
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
0 стейта
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
Невозможно получить разный результат в каких бы комбинациях ты это не запускал
источник

MG

Mikhail Gusarov in Clojure — русскоговорящее сообщество
В C++, да упокоится он с миром, для этого была специальная конструкция: `mutable`-поля в константном объекте.
источник

MG

Mikhail Gusarov in Clojure — русскоговорящее сообщество
Специально для такого невидимого снаружи производного стейта.
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Ну ладно
источник

MG

Mikhail Gusarov in Clojure — русскоговорящее сообщество
Единственный вопрос, который есть про сравнение паттернов - это как там насчёт модификаторов, которые и в строке, и во втором аргументв compile.
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
последний аргумент
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
(type #".")
=> java.util.regex.Pattern
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
В целом вопрос определения экволити конечно интересный, но я не понимаю почему в прагматичной кложе не иметь свое прагматичное понимание экволити с частичной true семантикой в частности функций
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
И в классе Pattern ни equals ни hashCode не определены
источник