site map who made it ?
 

Tcl תומכת בשני סוגי משתנים: משתנים פשוטים ומערכים אסוציאטיביים.

משתנים פשוטים והפקודה set
למשתנה פשוט ב Tcl יש שם וערך, כאשר שניהם יכולים להיות מחרוזות. שמות המשתנים, כמו כל השמות ב Tcl רגישים להבדל בין אותיות גדולות וקטנות. משתנים יכולים להיות מיוצרים, ולהשתנות ע"י הפקודה set.

הפקודה set מקבלת אחד או שני ערכים כקלט. הערך הראשון הינו שם המשתנה והשני, אם ניתן, הוא הערך החדש.

set a { haifa tel-aviv jerusalem }
=> haifa tel-aviv jerusalem
set a
=> haifa tel-aviv jerusalem
set a 12.6
=> 12.6

להלן ריכוז הפקודות הבסיסיות לעבודה עם משתנים:

append varName value ?value ...?

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

incr varName ?increment?

הפקודה מקדמת את ערך המשתנה לפי ערך הקלט השני. ערך המשתנה חייב לייצג, כמחרוזת ערך מספרי, רגיל עשרוני לפי בסיס 8, 10 או 16. ערך ברירת המחדל של התוספת הינו 1. הערך המוחזר של הקריאה הינו הערך החדש של המשתנה

set varName ?newValue?

אם newValue מוגדר, ערך המשתנה מקבל את ערכו. בכל מקרה הפקודה מחזירה את ערכו (החדש) של המשתנה.

unset varName ?varName varName ...?

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

בשפה זו כמעט כל סוג של מידע יכול להיות מאוחסן בכל משתנה. לדוגמא, אותו משתנה כול להכיל מספר, מחרוזת, תאריך .ואפילו תכנית שלמה

ניתן לגשת לערך שמאוחסן במשתנה על-ידי הקדמת הסימן '$' לפני שם המשתנה. פעולה זו שידועה בתור "החלפת .משתנים" תודגם בדוגמא הבאה

set month 2
set day 3
set year 97
set date "$month:$day:$year"

.date לצורך השמה של מחרוזת למשתנה year-ו month, day משתמשת בערכי המשתנים set פקודת

.בדוגמא הבאה תודגם החלפת משתנים שערכם הוא פקודה בשפה

set foo "puts hi"
eval $foo

output: hi

.שמדפיסה למסך puts ערכו הוא הפקודה .foo שתוסבר בשלב מאוחר יותר משערכת את ערכו של המשתנה eval 

 
< המדריך
משתנים

מערכים פשוטים

מערכים אסוציאטיביים

לעמוד הבא
למעלה
לעמוד הקודם