clojure-france

pbaille 2017-02-09T14:45:39.000082Z

(= (let [{a :a} nil] a)
   (let [{a :a} {:a nil}] a))

pbaille 2017-02-09T14:47:02.000083Z

un peu embetant...

pbaille 2017-02-09T14:47:30.000084Z

non?

pbaille 2017-02-09T14:48:36.000085Z

(let [{a :a} nil] a) ;=> :clojure.core/unbound

pbaille 2017-02-09T14:49:04.000087Z

mieux?

pbaille 2017-02-09T15:01:44.000089Z

clojure.core/destructure !!! 🙂

val_waeselynck 2017-02-09T15:07:05.000090Z

@pbaille j'arrive pas à reproduire

pbaille 2017-02-09T15:07:57.000091Z

le :clojure.core/unbound n'existe pas c'est juste une proposition

pbaille 2017-02-09T15:08:34.000092Z

c'est juste que je suis dans un cas ou j'ai besoin de differencier entre les 2 cas du premier exemple

pbaille 2017-02-09T15:09:19.000093Z

mais en patchant clojure.core/destructure y'a moyen de faire ce que je veux

pbaille 2017-02-09T15:15:16.000094Z

(let [{a :a [a b c] :b} {:a 2 :b [1]}] a)
:=> 1

pbaille 2017-02-09T15:15:33.000095Z

marrant aussi

pbaille 2017-02-09T15:16:56.000096Z

le resultat depend de l'ordre des entrées le la map de destructuration... suspect

val_waeselynck 2017-02-09T15:43:23.000097Z

@pbaille tu peux peut-être juste faire un truc du genre (get my-map :a ::unbound)

val_waeselynck 2017-02-09T15:43:49.000098Z

ou encore (:a my-map ::unbound)

pbaille 2017-02-09T15:43:52.000099Z

oui c'est sur

pbaille 2017-02-09T15:45:03.000100Z

c'est du code generé j'ai pas la main dessus

pbaille 2017-02-09T15:45:16.000101Z

j'ecris une sorte de macro

pbaille 2017-02-09T15:46:07.000102Z

ou plutot une expression sur laquelle j'appelle eval plus tard

pbaille 2017-02-09T15:46:38.000103Z

le pattern de destructuration est dynamique

val_waeselynck 2017-02-09T15:47:37.000104Z

haha toujours un plaisir de travailler au niveau syntaxique

pbaille 2017-02-09T17:19:49.000105Z

oui c'est fun, mais parfois ça fait mal au crane un peu

pbaille 2017-02-09T17:20:28.000106Z

@'`-x#

pbaille 2017-02-09T17:20:33.000107Z

🙂