2012-09-23 18 views
8

Mi sono imbattuto in questa elegante implementazione del triangolo di Pascal che utilizza una sequenza lenta.Spiega il triangolo pigro di Pascal in Clojure

qualcuno potrebbe aiutarmi a capire il ,,, in questo contesto? Ho provato a utilizzare macroexpand ma questo non mi ha portato lontano. So anche che l'uso non è necessario, ma voglio sapere che significa ,,,.

risposta

13

Le virgole vengono trattate come spazio bianco in Clojure in modo che Reader ignori completamente ,,,. La ragione per cui è lì è rendere il codice più leggibile per gli umani.

In questo contesto, la macro ->> inserirà la (concat ...) nell'ultima posizione della chiamata alla (map ...), ossia nella posizione di ,,,.

Il ,,, comunemente usato con -> e ->> macro per rendere il codice più leggibile, ma in realtà non fare nulla.

Problemi correlati