Dos/פונקציות

< Dos

פונקציה או מתודות (methods) הן בלוקים של קוד שאפשר לקרוא לו כדי שיעשה את הפעולה שוב ושוב בלי צורך לכתוב את כל הקוד מההתחלה.

:hello
echo hello
exit /b

יוצר פונקציה בשם hello שמדפיסה hello. בשביל לקרוא לפונקציה צריך לכתוב:

call :hello

קריאה לפונקציה עם פרמטרים

עריכה

לעיתים נרצה להעביר פרמטרים לפונקציה כשנקרא לה.

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

:check_params
    set param1=%1
    set param2=%2
    echo param1: %param1% param2: %param2%
    
call :check_params Hello, World

הסימן %~ מצביע על משתנה שהועבר לפונקציה ולאחריו מוסיפים את המיקום שלו. פרמטר שהועבר ראשון יהיה %~1 שני יהיה %~2 וכו'.

GOTO ו-CALL

עריכה

קריאה לפונקציה יכולה להתבצע בשתי דרכים: call/goto

call - קוראת לפונקציה ולאחר שהפונקציה מסיימת את פעולתה היא חוזרת לנקודה שממנה קראו לפונקציה, לדוגמא:

:foo
    echo foo called
    
call :foo
echo after called foo

goto לעומת זאת הולכת לפונקציה ולא חוזרת לנקודה הקודמת, לדוגמא:

goto :foo
echo this line should not be printed

:foo
    echo this line is printed
הפרק הקודם: פונקציות הפרק הבא:
התנאי if תרגילים הפרק הבא