This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-04-24
Channels
- # architecture (7)
- # beginners (73)
- # boot (4)
- # cider (48)
- # cljsjs (7)
- # cljsrn (27)
- # clojure (206)
- # clojure-boston (2)
- # clojure-italy (21)
- # clojure-nl (8)
- # clojure-spec (7)
- # clojure-uk (94)
- # clojurescript (126)
- # clojutre (7)
- # core-async (3)
- # cursive (7)
- # data-science (1)
- # datascript (4)
- # datomic (6)
- # duct (1)
- # emacs (19)
- # figwheel (1)
- # fulcro (31)
- # graphql (13)
- # jobs (5)
- # jobs-discuss (42)
- # keechma (4)
- # leiningen (10)
- # luminus (3)
- # mount (2)
- # nyc (3)
- # off-topic (37)
- # om-next (3)
- # onyx (45)
- # pedestal (2)
- # re-frame (4)
- # reagent (2)
- # reitit (16)
- # shadow-cljs (118)
- # spacemacs (10)
- # tools-deps (8)
- # vim (20)
Namaste
Challenge del giorno: creare funzione "rotations" che prende una collection e ritorna la lista (infinita o no) di rotazioni complete ed "in avanti" di "coll". Ad es.:
(def coll [0 1 2 3])
(defn rotations [xs])
(rotations coll)
;; ((0 1 2 3) (1 2 3 0) (2 3 0 1) (3 0 1 2))
"In avanti" vuol dire che ((0 1 2 3) (3 0 1 2) (2 3 0 1) (1 2 3 0))
come risultato non va bene perche' il primo elemento di ogni lista decresce invece che salire. Idee?@reborg prima cosa che mi Γ¨ venuta in mente
(defn rotations [xs]
(iterate (fn [[x & xs]]
(concat xs (list x))) xs))
@gabriele.carrettoni mi sembra buono!
Questa la mia (defn rotations [xs] (partition (count xs) 1 (mapcat identity (repeat xs))))
(defn rotations [xs]
(iterate (fn [[x & xs]]
`(~@xs ~x)) xs))
non so neanche cosa implichi questa versione a livello computazionale rispetto alla mia precedente,
se qualcuno me lo sapesse spiegare ricambio la birra per quando passa a milano πdire poco e niente a livello di computazione, solo qualche gratttacapo in piu' per chi guarda π
>non so neanche cosa implichi questa versione a livello computazionale rispetto alla mia precedente, hai solo aumentato il costo, ma la complessita` rimane quella
@gabriele.carrettoni un trucco per βvedereβ cosa fa syntax-quote e` quello di infilarci un quote davanti: