site map who made it ?
 

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

proc rec_factorial x {
if { $x <= 1 } {
return 1
}
expr $x * [rec_factorial [expr $x-1]]
}

נשים לב שעבור ערכים הגדולים מ 1 אין החזרת ערך מפורשת אלה אנו מחזירים את שיערוך הכפל האחרון שביצענו.

rec_factorial 10
=> 3628800
rec_factorial 0
=> 1

בדוגמה הבאה מובא קוד לחישוב עצרת בצורה איטרטיבית:

proc it_factorial x {
set result 1
while { $x >= 1 } {
set result [expr $result * $x ]
incr x -1 
}
return $result
}

מוגבל ל !10

 

 
< המדריך > פרוצדורות
דוגמאות
  
לעמוד הבא
למעלה
לעמוד הקודם