site map who made it ?
 

בתכנית הבאה יודגם השימוש בפקודות קלט / פלט (הקלט מהמשתמש בכתב נטוי)  :

"puts -nonewline "Enter your name
[set bytesread [gets stdin name

"puts "Your name is $name, and it is $bytesread bytes long

Enter yout name Ezra<=
Your name is Ezra, and it is 4 bytes long<=

בדוגמא ניתן לראות שימוש ב-puts כדי להדפיס מחרוזות למסך, כאשר ההדפסה הראשונה מתבצעת ללא ה-newline בסופה. שימוש בפקודה gets נועד לקלוט מה-stdin את שם המשתמש אל תוך המשתנה name. כפי שמודגם, ניתן להשתמש בערך המוחזר של פקודת gets שהוא מספר התוים שנקראו.

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

["set f [open "/tmp/myfile" "w

"puts $f "We live in Eilat. It's already 40 degrees out here
"puts $f "456

close $f

(no output)<=

השימוש בפקודה open בתכנית פותח ערוץ לקובץ "tmp/myfile/". בדומה לפתיחת קובץ ב-C, הפקודה פותחת קובץ על-פי ארגומנט שמציין את הגישה לקובץ (כתיבה, קריאה וכו') וארגומנט אופציונלי נוסף שמציין את ההרשאות לקובץ. הסבר מפורט על הפקודה ניתן למצוא בדפי ה-man.
כאמור הקובץ נפתח על-ידי פקודת open בגישה של כתיבה בלבד. פקודת open מחזירה מזהה לערוץ שנפתח שיכול לשמש לצורך כתיבה וקריאה על-ידי פקודות puts ו-gets. בדוגמא למעלה המזהה לקובץ מאוחסן במשתנה f, ודרך משתנה זה הפקודה puts כותבת לקובץ.

בדוגמא הבאה נראה קריאה מהקובץ שאליו כתבה הפקודה puts :

["set f [open "/tmp/myfile" "r

[set line1 [gets $f
[set len_line2 [gets $f line2

close $f

"puts "line 1: $line1
"puts "line 2: $line2
"puts "Length of line 2: $len_line2

line 1: We live in Eilat. It's already 40 degrees out here<=
line 2: 456<=
Length of line 2: 3<=

הקובץ נפתח במוד של קריאה בלבד על-ידי פקודת open. פקודת gets קוראת מתוך הקובץ בעזרת המזהה שהחזירה פקודת open ואוחסן במשתנה f. הקריאה הראשונה ל-gets לא מציינת שם של משתנה לאחסון המידע שנקרא, ולכן מידע זה מוחזר ומאוחסן בתוך המשתנה line1. הקריאה השניה ל-gets מציינת את line2 כמשתנה שבו יש לאחסן את השורה שנקראה. במקרה זה gets מחזירה את מספר התוים שנקראו ומספר זה מושם לתוך len_line2.
לאחר שנקרא כל המידע מהקובץ, פקודת close סוגרת אותו.

 

 
< המדריך > קלט / פלט
שימוש בפקודות

 

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