השמות

הפונקציות setq ו-setf משמשות להשמת ערכים בסמלים (symbols) או במיקומים (locations).

תחביר:

(setq plot:\[symbo{l_1}\] plot:\[valu{e_1}\]plot:\[symbo{l_n}\] plot:\[valu{e_n}\])

(setf plot:\[plac{e_1}\] plot:\[valu{e_1}\]plot:\[plac{e_n}\] plot:\[valu{e_n}\])

נקודות:

  • setq נותן לכל משתנה plot:\[symbo{l_i}\] את הערך של הביטוי plot:\[valu{e_i}\].
  • setf שומר את התוצאה של plot:\[valu{e_i}\] במקום המתאם ל-plot:\[plac{e_i}\], כאשר מקום חוקי יכול להיות משתנה, קריאה לפונקציה וכדו'.
  • שתי הפונקציות מחזירות את הערך של ה-value האחרון.

דוגמאות:

  1. (setf x 7 y 9)

    ב-x יושם 7, ב-y יושם 9 והפונקציה תחזיר 9.
  2. (setf x '(1 2))

    ב-x תושם רשימה.
  3. (setq y '(1 2))

    ב-y תושם רשימה.
  4. (setq y '(1 2 3))

    (setq (first y) 0)

    שגיאה!
  5. (setq y '(1 2 3))

    (setf (first y) 0)

    y שווה ל-(0 2 3).

setf מכלילה למעשה את פעולת setq. אם נרצה, נוכל להשתמש ב-setf תמיד במקום ב-setq.



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

לימוד שפת LISP

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

שימוש של lisp

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