לולאת ה While היא בעצם תנאי החוזר על עצמו (גם אם אין סוף והתנאי תמיד יחזיר אמת) כל עוד התנאי נכון (מחזיר $true או כל תשובה אחרת)
אפשר להבין את זה ככה שנגיד תעשו תנאי שעושה פקודה מסויימת או מספר פקודות בתוכו, ובסוף התנאי הוא שולח אותך עוד פעם לאותו התנאי ובודק אם הוא עדיין נכון, אם הוא עדיין נכון אז זה יעשה שוב.. ושוב ושוב, אם מתישהו גם אם בפעם הראשונה הוא לא נכון (מחזיר שקר), הלולאה לא תמשיך ולא תיכנס בכלל לפקודות.. פשוט תמשיך הלאה להמשך הקוד לאחר הלולאה.
משתמשים בלולאות להרבה מקרים, הנה אחד האפשרויות שמשתמשים בה המון פעמים.
קוד: בחר הכל
alias count1 {
var %i = 1
while (%i <= 10) {
echo -a %i
inc %i
}
}
הקוד מגדיר משתנה בשם %i שווה ל1, ואז מתחיל לולאה בתנאי שהמשתנה %i קטן או שווה ל 10.
הלולאה פועלת כי התנאי מחזיר תשובה נכונה.
בתוך הלולאה הקוד מחזיר כל פעם את הנתונים (מספר) שבתוך המשתנה %i , ומעלה ב1 (inc) את המשתנה, ואז שוב מתחיל את הלולאה, ואם עדיין המשתנה קטן או שווה ל10 הוא עושה את הלולאה עד שמגיע המספר 11 ואז כבר התנאי מחזיר שקר $false.
ישנם 2 פקודות המשמשות לשליטה על הלולאה.
קוד: בחר הכל
/break
עוצר את הלולאה, לא כמו /halt שעוצר את כל הקוד עצמו גם אחרי הלולאה - /break פשוט עוצר את הלולאה עצמה וממשיך בקוד.
קוד: בחר הכל
/continue
חוזר להתחלת הקוד שבתוך הלולאה. (מתחיל את הלולאה מחדש)
אני אתן דוגמא לשימוש בלולאת while כדי שתבינו יותר:
אני אבנה קוד שפשוט מחזיר לך את כל הניקים שנמצאים בערוץ.
אז נתחיל, מה שאנחנו צריכים לדעת זה
קוד: בחר הכל
$nick($active,0) מחזיר את מספר המשתמשים בערוץ
$nick($active,3) מחזיר את המשתמש השלישי בערוץ
אז ככה, קודם נתחיל לולאה המתחילה מ1 ולא מפסיקה כל עוד המשתנה שנגדיר יהיה שווה למספר המשתמשים בערוץ:
קוד: בחר הכל
var %i = 1
while (%i <= $nick($active,0)) {
inc %i
}
עכשיו מה שנעשה, נגדיר עוד משנה שהוא ישמור את כל הניקים בערוץ, אליו נכניס כל פעם בלולאה את הניק ונמנה בסוף הלולאה את כל הניקים שבערוץ, ואחרי הלולאה נחזיר את כל הניקים בפקודת echo
קוד: בחר הכל
var %i = 1, %nicks
while (%i <= $nick($active,0)) {
%nicks = %nicks $nick($active,%i)
inc %i
}
echo -a %nicks
אז מה עשינו בעצם ? הלולאה עוברת על כל איש שבערוץ, מוסיפה את הניק שלו למשתנה הקיים ואחרי שהלולאה מסתיימת היא מחזירה את המשתנה עם הניקים
קוד: בחר הכל
$nick($active,%i) - %i זה הניק במקום
פקודת ה Goto
הפקודה /goto מאפשרת לך לקפוץ מנקודה אחת בקוד לנקודה אחרת.
אפשר להשתמש בgoto לשימוש דומה ללולאת while, ואפשר להשתמש גם כמו תנאי (if)
אז ככה, הפקודה לקפוץ למקום בשם מסויים היא
קוד: בחר הכל
/Goto <Name>
ובהמשך הקוד צריכה להיות התבנית הבסיסית של הGoto שהיא
קוד: בחר הכל
:Name
<Commands>
halt
דוגמא לשימוש בGoto של /help :
קוד: בחר הכל
alias number {
if ($1 == 1) goto one
elseif ($1 == 2) goto two
else goto unknown
:one
echo One
halt
:two
echo Two
halt
:unknown
echo Unknown number!
halt
}
המשתמש קורא לאליאס number, לדוגמא /number 2
אם לדוגמא נקח ש $1 == 2 אז הקוד יקפוץ ע"י הפקודה goto לtwo. ואז כמו שכתוב בקוד, הוא יציג echo Two ויפסיק את הקוד ע"י הפקודה halt.
אם יש משהו שלא הסברתי טוב, לא הבנתם .. בבקשה צרו איתי קשר במירק ערוץ #mIRCs או בהודעה פרטית כדי שאוכל לערוך זאת ותוכלו ללמוד ממדריך זה.
מדריך זה נכתב ע"י שחר Arthas עבור פורום mIRCs.co.il בלבד.
אין להעתיק / לפרסם בפורום אחר ללא אישור ממני, מי שיעשה את זה דמו בראשו.