2017-01-01 2 views

Antwort

10

According to the Racket documentation, gibt es keinen Unterschied - es gibt nur eine Konvention [ und ] für cond Klauseln zu verwenden (und Ihr Urteil für den Rest zu verwenden, soweit ich verstehe):

Die Verwendung von eckige Klammern für cond-Klauseln sind eine Konvention. Im Racket sind Klammern und eckige Klammern tatsächlich austauschbar, solange (mit angepasst) und [mit angepasst wird]. Durch die Verwendung von eckigen Klammern an einigen wichtigen Stellen wird der Racket-Code noch lesbarer.

ohne Kenntnisse über das Design der Schlägersprache verfügt, wäre meine Vermutung, dass eckige Klammern als Reaktion auf Beschwerden, die viele Lisp Ausdrücke schwer zu lesen aufgrund der großen Anzahl von identischen aussehenden Klammern eingeführt wurden, sind besonders an den Enden tief verschachtelter Konstrukte. Mit anderen Worten, es wird wahrscheinlich verwendet, um Ihrem Auge zu ermöglichen, einige Referenzpunkte im Code festzulegen, um zu ermitteln, welche Klammer Sie an einem bestimmten Punkt schließen.

+2

'{' und '}' sind auch ein anderes Äquivalent zu Klammern, aber für bestimmte Anwendungsfälle (wie vorgefertigte Strukturliterale). Weitere Informationen zur [Lesersyntax] (https://docs.racket-lang.org/reference/reader.html#%28part._default-readtable-dispatch%29). – Winny

Verwandte Themen