This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-10-06
Channels
- # aleph (79)
- # bangalore-clj (3)
- # beginners (49)
- # boot (74)
- # cider (10)
- # cljs-dev (21)
- # cljsrn (2)
- # clojure (105)
- # clojure-berlin (1)
- # clojure-brasil (1)
- # clojure-dusseldorf (1)
- # clojure-korea (1)
- # clojure-poland (3)
- # clojure-russia (38)
- # clojure-spec (146)
- # clojure-uk (20)
- # clojurescript (70)
- # cloverage (1)
- # component (1)
- # core-async (23)
- # css (16)
- # cursive (22)
- # datascript (1)
- # datomic (22)
- # defnpodcast (6)
- # emacs (60)
- # events (1)
- # hoplon (94)
- # jobs (1)
- # jobs-rus (13)
- # luminus (11)
- # off-topic (11)
- # om (48)
- # onyx (5)
- # proton (7)
- # re-frame (87)
- # reagent (39)
- # rethinkdb (1)
- # ring-swagger (14)
- # rum (6)
- # specter (14)
- # untangled (105)
- # vim (6)
- # yada (22)
Парни, подскажите красивое решение:
Из
[[6 "1:00 PM”] [6 "2:00 PM"] [6 "3:00 PM"] [6 "4:00 PM"] [6 "5:00 PM”]
[7 “0”] [7 “1”] [7 “2”] [7 “0”] [7 “1”]]
Получить
[["1:00 PM” "2:00 PM” "3:00 PM” "4:00 PM” "5:00 PM”]
[“0” “1” “2” “0” “1”]
Я пробовал group-by и partition-by, потом еще раз нужно пробежать, чтобы избавиться от первых элементов
В принципе еще раз пробежать по коллекции не проблема, просто думал может что-то “готовое” есть
если через функциональный стиль не подходит, то можно попробовать императивно https://clojuredocs.org/clojure.core/with-local-vars
может еще for попробовать вместе с :let
(defn- select-columns
"Returns rows of a sheet containing significant (not empty) specified columns."
[column-indexes sheet]
(->> (for [row (s/row-seq sheet)
cell (s/cell-seq row)
:let [row-index (row-index cell)
column-index (column-index cell)
cell-value (cell-value cell)]
:when (and (column-indexes column-index) (not-empty cell-value))]
[row-index cell-value])
(partition-by first)
(map #(map last %))))
Интересует, как это сделано на уровне домена/моделей и на уровне обработки http запросов
@andre Зацени видео. Я под впечатлением. Похоже я уже почти умею Unity https://youtu.be/tJr_TD1BtF0
(reduce
(fn [r [k v]]
(update r k #(conj (or % []) v)))
{}
[[6 :a][6 :b] [7 :c][7 :d]])
=> {6 [:a :b], 7 [:c :d]}
можно с вектором так же, только там будут вываливаться Index 6 out of bounds [0,0]
, если провалы в номерах строк будут
(reduce
(fn [r [k v]]
(update r k #(conj (or % []) v)))
[]
[[0 :a][0 :b][1 :c] [1 :d]])
=> [[:a :b] [:c :d]]
@andre Аркадия да, это те же ребята. Нужно Вальярда спросить чего он по этому поводу думает. По мне офигеннная штука. Думаю можно значительно расширить свой дев-ареал обитания 🙂 Кроме игр - недвижимость, демки каких устройств, медицина какая. Работает ведь везде и на мобилке и на десктопах.
@artemyarulin Ты Аркадию не щупал? Ты ж Юнити работал...
процессинг отчетов для крупного финансового учреждения оказывается, делают на clojure явшоке
никакого лейн ран. компилится в зипник башем, запускается у клиента батником. все серьезно))
@andmed ну, а на ещё более крупных наверное исключительно Visual Basic? 🙂
@potapenko неа, но там же вроде Clojure.CLR под капотом на скок я помню? А оно вроде не очень живое
оу правда живое? круто же, интересно кто юзает его в проде