Sie können wachsen und sich die Macht der Programmiersprache Lisp durch den Einsatz von Makros . Lisp -Makros gelten einen Namen auf eine Kombination von vorhandenen Teilen der Sprache Lisp , Lisp Bibliotheken oder Funktionen, die Sie schreiben, um eine neue Sprache -Funktion, die wie jede andere Sprache Lisp Komponente evaluieren schaffen . Makros sind eine Form der Kurzschrift --- wenn Sie ein Makro auswerten , dehnt sich der Dolmetscher das Makro in den Code kapselt es , führt dann diesen Code . Ein Beispiel für ein Lisp -Makro können Sie eine Fahrenheit in Celsius Temperatur Umwandlung Dienstprogramm. Dieses Beispiel zeigt, wie ein Makro kann andere Makros und ein Lisp -Funktion kombinieren . Things You
einen Computer mit Common Lisp installiert .
Brauchen anzeigen Weitere Anweisungen
1
Starten Sie die Befehlszeile Terminal über die Schaltfläche " Start" und klicken auf " Run " Menü-Option. Geben Sie " command" in das Eingabefeld ein und klicken Sie auf "OK".
2
Starten Sie den Common Lisp -Interpreter durch Eingabe von " clisp " an der Eingabeaufforderung ein . Drücken Sie die " Enter"-Taste .
3
Geben Sie den Code für den ersten Teil des Antrags bei der Lisp Eingabeaufforderung. Ihr neues Makro aus einem anderen Makro aufgerufen Verhältnis . Die defmacro Befehl erstellt das Makro, die die Steigung der Kurve von Celsius gegenüber Fahrenheit enthält .
( Defmacro Verhältnis () ( /5.0 9.0) )
4
Geben Sie den Code für der zweite Teil des Makros in der Lisp Eingabeaufforderung. Die Funktion " diff" subtrahiert 32 von der Temperatur in Fahrenheit
. ( Defun diff ( x ) (- x 32,0) )
5
Geben Sie den Code für den letzten Teil der Makro am Lisp Eingabeaufforderung. Das Makro "fc " nimmt die Temperatur in Fahrenheit , multipliziert mit dem Faktor, multipliziert sie mit "diff ", dann gibt das Ergebnis .
( Defmacro fc (x) (* (Verhältnis ) (Unterschied x ) ) )
6
Testen Sie das Makro, indem Sie " ( fc 98,6 )" am Lisp Eingabeaufforderung. Der Dolmetscher sollte ausdrucken 37.0, das ist 98,6 oder Körpertemperatur in Grad Celsius.