שפת Tcl משערכת פקודה בשני שלבים. בשלב הראשון מבוצע ניתוח של המשפט והחלפת משתנים בערכם (parsing). בשלב השני, הביצוע, ניתנת משמעות למילים שמייצגות פקודות. הפרשן של Tcl קורא לתהליך ביצוע הפקודה שלו, באם הפקודה מוגדרת. הפקודות הבאות מדגימות כמה מהמשמעויות הנפוצות הניתנות לארגומנטים: set a 12 במקרים רבים, כמו במקרה של set, ארגומנטים יכולים לבוא בצורות שונות. a הוא שם המשתנה ו 122 הוא ערכו החדש אולם גם set 122 a הינה פקודה חוקית בשפה היוצרת משתנה בשם 122 וושמה בו את הערך a. expr 24/3.2 הארגומנט ל expr חייב להיות ביטוי חשבוני חוקי (יוגדר בהמשך). יש פקודות נוספות הדורדות כקלט ביטויים. eval { set a 122 } הפקודה מעבירה אותו לפרשן של Tcl בו הוא משוערך. עוד פונקציות זרימה כמו if ו while מקבלות תסריט כאחד מהארגומנטים שלהם חשוב לזכור שבזמן ניתוח הפקודות לא מבוצע שערוך של ביטויים. ניתן להסתכל על כך כאילו הארגומנטים נמצאים בתוך מרחאות. גישה זו זהה לרוב שפות התסריטים אך שונה מזו שבשפות התכנות. הדוגמא הבאה תבהיר את ההבדל. ניקח את קטע הקוד הבא בשפת C: x = 7 בשפת Tcl צריך לכתוב: set x 7 ראשית המחרוזת 4 מושמת במשתנה x ומאחר ואיננו רוצים שהמחרוזת "x+1" תושם במשתנה y יש עלינו לבצע מפורשות שיערוך של הביטוי. שיערוך ביטוי דורש בקשה מפורשת להתיחסות לערך ש ב x , ע"י כתיבת x$. בנוסף עלינו לבקש שתבוצע פעולה חשבונית, ע"י שימוש ב expr. הסוגריים המרובעים דורשים מהפרשן של Tcl להתתיחס לתוצאת שערוך הביטוי שבתוכם ולא לתוכנו (כלומר לא למחרוזת שמייצגת אותו).
|
< המדריך > ביטויים
שערוך פקודות |
||||||||
|
|||||||||