Erkläre das faule Pascal-Dreieck in Clojure

8

Ich bin auf diese elegante Implementierung von Pascals Dreieck gestoßen, das eine träge Sequenz verwendet.

%Vor%

Könnte mir jemand in diesem Zusammenhang helfen, die ,,, zu verstehen? Ich habe versucht, macroexpand zu verwenden, aber das hat mich nicht weit gebracht. Ich weiß auch, es ist nicht erforderlich, aber ich möchte wissen, dass ,,, bedeutet.

    
darth10 23.09.2012, 09:52
quelle

1 Antwort

13

Kommas werden in Clojure als Leerzeichen behandelt, sodass Reader ,,, vollständig ignoriert. Der Grund dafür ist, den Code für Menschen lesbarer zu machen.

In diesem Kontext fügt das Makro ->> das (concat ...) an der letzten Position des Aufrufs in (map ...) ein, d. h. in die Position ,,, .

Das ,,, wird häufig mit den Makros -> und ->> verwendet, um den Code lesbarer zu machen, tut aber nichts.

    
ddk 23.09.2012, 10:22
quelle