השמות
הפונקציות setq ו-setf משמשות להשמת ערכים בסמלים (symbols)
או במיקומים (locations).
תחביר:
(setq
… )
(setf … )
נקודות:
- setq נותן לכל משתנה את הערך של הביטוי .
- setf שומר את התוצאה של במקום המתאם ל-, כאשר מקום חוקי יכול
להיות משתנה, קריאה לפונקציה וכדו'.
- שתי הפונקציות מחזירות את הערך של ה-value
האחרון.
דוגמאות:
- (setf
x 7 y 9)
ב-x יושם 7, ב-y יושם 9 והפונקציה תחזיר 9.
- (setf x '(1 2))
ב-x תושם רשימה.
- (setq y '(1 2))
ב-y תושם רשימה.
- (setq y '(1 2 3))
(setq
(first y) 0)
שגיאה!
- (setq y '(1 2 3))
(setf
(first y) 0)
y שווה ל-(0 2 3).
setf מכלילה למעשה את פעולת setq. אם נרצה, נוכל להשתמש ב-setf
תמיד במקום ב-setq.
לימוד שפת LISP
בתור חובב תכנות ללא ניסיון רב אני מעונין ללמוד באופן פרטי את שפת ליספ בתורשפת אם לתכנות פונקציונלי. אינני עוסק בתכנות ואינני מתכוון להרויח משפת תכנות מדובר רק בלימוד תכנות כהובי. אודה לך אם תןכל להתקשר לטלפון 050-6262013
תודה