Size: a a a

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

2020 January 09

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
ETL
Вроде симпатично получилось, не хуже чем со стрелкой.
для этой задачи симпатичнее будет вариант с редукцией на основе структуры данных с правилами замены, например на основе мапы {match replacement}
{#"(['re]{3})" " are"
#"(['m]{2}$)"  " am"}
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Sergey Trofimov
для этой задачи симпатичнее будет вариант с редукцией на основе структуры данных с правилами замены, например на основе мапы {match replacement}
{#"(['re]{3})" " are"
#"(['m]{2}$)"  " am"}
тогда правила легко модифицировать, расширять и т.п.
источник

E

ETL in Clojure — русскоговорящее сообщество
Sergey Trofimov
для этой задачи симпатичнее будет вариант с редукцией на основе структуры данных с правилами замены, например на основе мапы {match replacement}
{#"(['re]{3})" " are"
#"(['m]{2}$)"  " am"}
С-стиль.
источник

ST

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

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Sergey Trofimov
для этой задачи симпатичнее будет вариант с редукцией на основе структуры данных с правилами замены, например на основе мапы {match replacement}
{#"(['re]{3})" " are"
#"(['m]{2}$)"  " am"}
минус такой записи, что в edn регулярки не сохраняются
источник

E

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

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
ETL
С-стиль.
это не стиль
это боль при виде четырёхкратного повторения #(clojure.string/replace % 😊
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
ETL
Вроде симпатично получилось, не хуже чем со стрелкой.
ты знаешь, что при этом у тебя генерятся четыре ява класса, на каждую анонимную функцию?
😊
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
ETL
Вроде симпатично получилось, не хуже чем со стрелкой.
вот тебе ещё с partial
  (defn replace [match replacement s] (clojure.string/replace s match replacement))
 ((comp
    (partial replace #"(['re]{3})" " are")
    (partial replace #"(['m]{2})" " am"))
  "They're I'm")
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
ну и вдогонку горячая тема, если кто не читал
https://clojureverse.org/t/to-comp-or-not-to-comp/5195/29
источник

СС

Сергей Суржик in Clojure — русскоговорящее сообщество
👌
источник

DL

Dmytro Lispyvnyi '(🌲 🍺) in Clojure — русскоговорящее сообщество
имхо проблема point-free в кложе исключительно в многословности и отсутствии автокарринга
источник

DL

Dmytro Lispyvnyi '(🌲 🍺) in Clojure — русскоговорящее сообщество
(. (replace #"(['re]{3})" " are")
  (replace #"(['m]{2})" " am"))
источник

DL

Dmytro Lispyvnyi '(🌲 🍺) in Clojure — русскоговорящее сообщество
как это могло бы выглядеть
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
автокарринг отсутствует по объективным причинам
источник

DL

Dmytro Lispyvnyi '(🌲 🍺) in Clojure — русскоговорящее сообщество
назови хоть одну кроме multi-arity
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Dmytro Lispyvnyi '(🌲 🍺)
назови хоть одну кроме multi-arity
а одной мало?
источник

DL

Dmytro Lispyvnyi '(🌲 🍺) in Clojure — русскоговорящее сообщество
Sergey Trofimov
а одной мало?
для моноарных автокарринг плёвое дело
источник

DL

Dmytro Lispyvnyi '(🌲 🍺) in Clojure — русскоговорящее сообщество
а их не сказать, что очень мало
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
хорошо, автокарринг отсутствует по объективной причине 😊
источник