Size: a a a

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

2020 March 30

ST

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

T

The2lb3oz4dr10½grOfHedgehogs in Clojure — русскоговорящее сообщество
Я пока для себя попробую вот такое правило выразить:
если приходится писать анонимую функцию для mapa, то стоит попробовать for
Если выкручиваюсь композицией функций или функция уже есть, то map
источник

AS

Alex Shipilov in Clojure — русскоговорящее сообщество
а что с семантикой в этом случае?
map это мы  изменяем список, применяя определенную функцию к каждому элементу
for же это именно генерация списка
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
ну, фор всё равно анонимные функции создаёт
и код генерит не такой, как это выглядит
то есть макрос со всеми минусами макросов 😊
источник

T

The2lb3oz4dr10½grOfHedgehogs in Clojure — русскоговорящее сообщество
Ну создает он их сам, мне читабельность важнее
источник

T

The2lb3oz4dr10½grOfHedgehogs in Clojure — русскоговорящее сообщество
Но чет посмотрел я во что он компилится, крупно
источник

T

The2lb3oz4dr10½grOfHedgehogs in Clojure — русскоговорящее сообщество
The2lb3oz4dr10½grOfHedgehogs
(reduce + (for [x (range 10)] (inc x)))
источник

IG

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

AS

Alex Shipilov in Clojure — русскоговорящее сообщество
(def x [1 2 3])
(def y [4 5 6])

(for [x x
     y y]
 [x y])
;; => ([1 4] [1 5] [1 6] [2 4] [2 5] [2 6] [3 4] [3 5] [3 6])
(mapcat #(map (fn [n] [% n]) y) x)
;; => ([1 4] [1 5] [1 6] [2 4] [2 5] [2 6] [3 4] [3 5] [3 6])

получается что при декартовом произведении for более нагляден
источник
2020 March 31

T

The2lb3oz4dr10½grOfHedgehogs in Clojure — русскоговорящее сообщество
Alex Shipilov
(def x [1 2 3])
(def y [4 5 6])

(for [x x
     y y]
 [x y])
;; => ([1 4] [1 5] [1 6] [2 4] [2 5] [2 6] [3 4] [3 5] [3 6])
(mapcat #(map (fn [n] [% n]) y) x)
;; => ([1 4] [1 5] [1 6] [2 4] [2 5] [2 6] [3 4] [3 5] [3 6])

получается что при декартовом произведении for более нагляден
(mapcat (comp (partial map vector y) repeat) x)

:^)
источник

TP

Tim Plotnikov in Clojure — русскоговорящее сообщество
Господа, а как вы форматируете аргументы функции?)
Вот так:
(defn my-func [arg1 arg2] …)


Или вот так?
(defn my-func
 [arg1
  arg2]
 …)
источник

A

Artem in Clojure — русскоговорящее сообщество
@timofey_plotnikov предпочитаю на второй строке, горизонтально
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Tim Plotnikov
Господа, а как вы форматируете аргументы функции?)
Вот так:
(defn my-func [arg1 arg2] …)


Или вот так?
(defn my-func
 [arg1
  arg2]
 …)
если ты выбираешь единый способ форматирования, то однозначно второй, который совместим с добавлением docstring либо дополнительных арностей
источник

TP

Tim Plotnikov in Clojure — русскоговорящее сообщество
Да, тоже так подумал, спасибо))
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Но я от этого правила позволяю себе отходить 😊
источник

DL

Dmytro Lispyvnyi '(🌲 🍺) in Clojure — русскоговорящее сообщество
Tim Plotnikov
Господа, а как вы форматируете аргументы функции?)
Вот так:
(defn my-func [arg1 arg2] …)


Или вот так?
(defn my-func
 [arg1
  arg2]
 …)
в смысле, в одну строчку или в несколько?
источник

DL

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

DL

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

TP

Tim Plotnikov in Clojure — русскоговорящее сообщество
Dmytro Lispyvnyi '(🌲 🍺)
я в зависимости от количества аргументов(и их длины ) и здравого смысла
А как же consistency? То есть соблюдения стиля по всему проекту?
источник

DL

Dmytro Lispyvnyi '(🌲 🍺) in Clojure — русскоговорящее сообщество
Tim Plotnikov
А как же consistency? То есть соблюдения стиля по всему проекту?
а разве стиль что-то говорит про это?
источник