התניות

שם ההתניה:

if

תחביר:

(if test then [else])

פעולה:

מפענח את ערך test. אם מוחזר אמת (t או ערך שאינו nil) אז הביטוי then מבוצע וערכו מוחזר. אחרת הערך של else מבוצע וערכו מוחזר. אם אין else, מוחזר nil.

דוגמאות:

(setf x 11)

(if (> x 10) (- x 10) x) 1

(if (> x 100) x) NIL

שם ההתניה:

when

תחביר:

(when test expression*)

פעולה:

מפענח את ערך test. אם מוחזר אמת יבוצע הביטוי/ביטויים שאחריו, ויוחזר ערכו של הביטוי האחרון. אם test הינו שקר, יוחזר NIL.

שם ההתניה:

unless

תחביר:

(unless test expression*)

פעולה:

מפענח את ערך test. אם מוחזר שקר יבוצע הביטוי/ביטויים שאחריו, ויוחזר ערכו של הביטוי האחרון. אם test הינו אמת, יוחזר NIL.

פעולה זו הינה ההופכית ל-when.

שם ההתניה:

cond

תחביר:

(cond plot:\[(claus{e_1})\,...\,(claus{e_n})\])

clause = plot:\[tes{t_i}\] plot:\[{\text{expressio}}{{\text{n}}_{{\text{i1}}}}...{\text{expressio}}{{\text{n}}_{{\text{in}}}}...\]

פעולה:

זהה ל-switch ב-C. ה-test נבדק עבור כל ביטוי אחד אחרי השני. אם אחד מהתנאים הוא אמת, הביטויים שאחריו מבוצעים.

דוגמאות לתנאים:

התנאי listp מקבל פרמטר ומחזיר אמת אם הפרמטר הוא רשימה.

התנאי null מקבל פרמטר ומחזיר T אם הפרמטר הוא רשימה ריקה או NIL.



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

לימוד שפת LISP

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

שימוש של lisp

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