Fork me on GitHub
#clojure-russia
<
2016-08-08
>
artemyarulin06:08:42

кстати, вот видел много раз заместо

(defn f 
 “Here goes comments"
 [args]
 …body…)
юзают
(defn f [args]
  “Here goes comments”
  … body…)
второй вариант мне тоже больше нравится (минус 1 строка!), но он не верный, доки например по ним не сгенерить

rmuslimov07:08:37

как генерируются доки? почему не получается?

artemyarulin07:08:37

(doc f) ничо не возвращает, может тулзы это юзают. Ну и сам defn принимает [name doc-string? attr-map? [params*] prepost-map? body]. Т.е. во втором варианте как я понимаю коммент будет интерпретироваться как строка в боди

maxim07:08:08

А кто-нибудь работал с array в postgresql? Не могу сохранить массив. Судя по всему, надо протокол расширить.

maxim07:08:50

я не смог нагуглить 😞

andfadeev08:08:52

@artemyarulin: логично же что если аргументы передать в неправильном порядке то не будет работать как должно)

artemyarulin09:08:26

ага, ну просто видел несколько раз что так юзали, да и сам так делал по началу, хз почему уже

misha09:08:28

https://www.csie.ntu.edu.tw/~r95004/Refactoring_improving_the_design_of_existing_code.pdf

You have a data item that needs additional data or behavior.
Turn the data item into an object.
picard-facepalm

artemyarulin09:08:59

ну ты нашел где фп искать - в чисто оопешной бородатой книжке

misha09:08:54

чувак книжку по оопэ попросил посоветовать, я и посоветовал kappa только вот сейчас пролистал вспомнить чо там было

dottedmag10:08:37

@misha: Ну, для оопэ нормально жы.

dottedmag10:08:19

Не забывай, что тогда, когда это пейсалось, замыкания и first-class functions были только в игрушечных языках.

dottedmag10:08:51

Хотя, Буч et al. в своей книжке про OOAD и на CLOS'е писали.

comerc18:08:52

;; Итерирование может быть использовано для повторения
(= (repeat 100 :foo) (take 100 (iterate {:foo :foo} :foo)))
вот так решил задачу, подставив {:foo :foo} - но видимо что-то другое подразумевалось?

razum2um18:08:22

@comerc: (= (repeat 100 :foo) (take 100 (iterate identity :foo)))