הצורה הבסיסית ביותר של הרשימה הינו רצף של מחרוזות
המופרדות ברווחים.
לדוגמא: Tel-Aviv Ashdod Jerusalem
.
בדוגמא יש רשימה המכילה 3 אלמנטים. אין הגבלה על מספר האיברים ברשימה. בצורה
שהובאה להלן כל אבר הינו מחרוזת ללא רווחים בתוכה, אולם יש תחביר שייסקר
בהמשך שיאפשר זאת. בטבלה שלהלן מובאת סקירה של הפקודות הקשורות לרשימות בשפה:
concat ?list list ...?
ההפקודה מאחדת מספר רשימות לרשימה אחת חדשה שהיא הערך המוחזר.
אין שינוי בארגומנטים.
|
join list ?joinstring?
הפקודה משרשרת את אברי הרשימה לכדי מחרוזת אחת כאשר בין אברי
הרשימה המקורית מפריד כעת joinstring. באם לא התקבל
מחרוזת מפרידה המחרוזת המפרידה הינה תו רווח בודד.
|
lappend variableName
value ?value ...?
הפקודה משרשרת לערך המשתנה variableName
את שאר הארגומנטים. באם המשתנה לא קיים הוא נוצר.
|
lindex list index
הפקודה מחזורה את האיבר במקום ה index (לפי
בסיס 0) ברשימה list.
|
linsert list index value
?value ...?
הפקודה ממכניסה לרשימה list , למקום
ה index (לפי בסיס 0) את הערכים שהתקבלו כארגומנטים.
|
list ?value value...?
הפקודה מייצרת רשימה אשר מכילה את הארגומנטים. ניתן לייצר
רשימה ריקה.
|
llength list
הפקודה מחזירה את מספר האיברים שברשימה list.
|
lrange list first last
הפקודה מחזירה רשימה חדשה שאבריה הם האיברים במקומות first עד last (לפי בסיס
0) שברשימה list.
|
lsearch list pattern
הפקודה מחזירה את מיקום האיבר הראשון ברשימה list המתאים לקריטריון שב pattern. באם אין כזה מוחזר 1-.
|
lsort ?-ascii? ?-integer?
?-real? ?-increasing? ?-decreasing? list
הפקודה ממיינת את הרשימה list לפי
הדגלים שניתנו כארגומנטים. ערך ברירת המחדל הינו מיון לקסיקוגראפי
(ascii) בסדר עולה.
|
יש לשים לב שכל הפעולות שנסקרו אינן משנות את הרשימה המקורית ולכן
באם רוצים לשנות את הרשימה המקורית יש לבצע השמה מפורשת כמו בקטע הקוד הבא:
set my_list {alpha beta delta }
# we will attempt to put the value "gamma" after
"beta" in my_list
linsert $my_list 2 gamma
# wrong - my_list was not changed a new list was created
set my_list [linsert $my_list 2 gamma]
# my_list was changed as we wished
בהמשך חלק זה יסקרו הפקודות בהרחבה.
בדוגמא הבאה יש שימוש בפונקציות הבאות concat ו lindex. תזכורת: האינדקס הינו
לפי בסיס 0.
|