מבנים

יצירת מבנה:

(defstruct name plot:\[slo{t_1}\,\,slo{t_2}\,\,...\,\,slo{t_n}\])

באופן אוטומטי נוצרים:

constructor בשם make-name.

פונקציה מזהה בשם name-p.

פונקצית השמה וקבלה של כל אחד מהפרמטרים:

name-plot:\[slo{t_1}\], name-plot:\[slo{t_2}\], …, name-plot:\[slo{t_n}\]

שינוי שדות המנה נעשה על ידי setf.

לדוגמא:

הגדרת מבנה ופונקציה המשתמשת בו:

; Struct the holds a state with a list of the states that came before.
(defstruct Path state prev_states depth)

; Checks if the current state is the goal
(defun is_goal (the_path)
      (eql (Path-state the_path) 0)
)

דוגמא לאתחול מבנה:

(setf n (make-Path :state '0 :prev_states nil :depth 0))



מאת: מיכאל קנוסוב

לימוד שפת LISP

בתור חובב תכנות ללא ניסיון רב אני מעונין ללמוד באופן פרטי את שפת ליספ בתור
שפת אם לתכנות פונקציונלי. אינני עוסק בתכנות ואינני מתכוון להרויח משפת תכנות מדובר רק בלימוד תכנות כהובי. אודה לך אם תןכל להתקשר לטלפון 050-6262013
תודה
מאת: white-dragon

שימוש של lisp

אפשר לכתוב בlisp מקרואים וקיצורים חדשים לemacs.
שיתוף:
| עוד