OnWorks Linux ו-Windows Online WorkStations

לוגו

אירוח מקוון בחינם עבור תחנות עבודה

<הקודם | תוכן | הבא>

עבור: טופס מעטפת מסורתי

המקורי ל תחביר הפקודה הוא:

ל משתנה מילים]; לַעֲשׂוֹת

פקודות

עשה

איפה משתנה הוא שם של משתנה שיגדל במהלך ביצוע הלולאה, מילים היא רשימה אופציונלית של פריטים שיוקצו אליהם ברצף משתנה, ו פקודות הן הפקודות שיש לבצע בכל איטרציה של הלולאה.

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



[me@linuxbox ~]$ עבור i ב-ABCD; לעשות הד $i; בוצע

א ב ג ד

[me@linuxbox ~]$ עבור i ב-ABCD; לעשות הד $i; בוצע

א ב ג ד


בדוגמה זו, ל ניתנת רשימה של ארבע מילים: "A", "B", "C" ו-"D". עם רשימה של ארבע מילים, הלולאה מבוצעת ארבע פעמים. בכל פעם שהלולאה מבוצעת, מוקצית מילה למשתנה i. בתוך הלולאה, יש לנו הד פקודה שמציגה את הערך של i כדי להציג את המשימה. כמו עם ה בזמן ו עד לולאות, ה עשה מילת מפתח סוגרת את הלולאה.


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



[me@linuxbox ~]$ כי ב {א..ד}; לעשות הד $i; בוצע

א ב ג ד

[me@linuxbox ~]$ כי ב {א..ד}; לעשות הד $i; בוצע

א ב ג ד


או הרחבת שם נתיב:



[me@linuxbox ~]$ for i in distros*.txt; לעשות הד $i; בוצע

distros-by-date.txt distros-dates.txt distros-key-names.txt distros-key-vernums.txt distros-names.txt distros.txt

distros-vernums.txt distros-versions.txt

[me@linuxbox ~]$ for i in distros*.txt; לעשות הד $i; בוצע

distros-by-date.txt distros-dates.txt distros-key-names.txt distros-key-vernums.txt distros-names.txt distros.txt

distros-vernums.txt distros-versions.txt


או החלפת פקודה:



#! / bin / bash

# longest-word: מצא את המחרוזת הארוכה ביותר בקובץ בזמן [[ -n $1 ]]; לַעֲשׂוֹת

if [[ -r $1 ]]; ואז max_word= max_len=0

עבור i ב-$(מחרוזות $1); do len=$(echo -n $i | wc -c)

if (( len > max_len )); ואז max_len=$len max_word=$i

fi

עשה

echo "$1: '$max_word' ($max_len תווים)"

משמרת fi

עשה

#! / bin / bash

# longest-word: מצא את המחרוזת הארוכה ביותר בקובץ בזמן [[ -n $1 ]]; לַעֲשׂוֹת

if [[ -r $1 ]]; ואז max_word= max_len=0

עבור i ב-$(מחרוזות $1); do len=$(echo -n $i | wc -c)

if (( len > max_len )); ואז max_len=$len max_word=$i

fi

עשה

echo "$1: '$max_word' ($max_len תווים)"

משמרת fi

עשה

עבור: טופס מעטפת מסורתי


בדוגמה זו, אנו מחפשים את המחרוזת הארוכה ביותר שנמצאה בתוך קובץ. כאשר ניתן שם קובץ אחד או יותר בשורת הפקודה, תוכנית זו משתמשת ב- מחרוזות תוכנית (הכלולה בחבילת GNU binutils) ליצירת רשימה של "מילים" טקסט קריא בכל קובץ. ה ל לולאה מעבדת כל מילה בתורה וקובעת אם המילה הנוכחית היא הארוכה ביותר שנמצאה עד כה. כאשר הלולאה מסתיימת, המילה הארוכה ביותר מוצגת.

אם האופציונלי in מילים חלק של ל הפקודה נשמטה, ל ברירת המחדל לעיבוד הפרמטרים המיקוםיים. אנחנו נשנה את שלנו המילה הארוכה ביותר סקריפט לשימוש בשיטה זו:



#! / bin / bash

# longest-word2: מצא את המחרוזת הארוכה ביותר בקובץ עבור i; לַעֲשׂוֹת

if [[ -r $i ]]; ואז max_word= max_len=0

עבור j ב-$(מחרוזות $i); do len=$(echo -n $j | wc -c)

if (( len > max_len )); ואז max_len=$len max_word=$j

fi

עשה

echo "$i: '$max_word' ($max_len תווים)"

פי בוצע

#! / bin / bash

# longest-word2: מצא את המחרוזת הארוכה ביותר בקובץ עבור i; לַעֲשׂוֹת

if [[ -r $i ]]; ואז max_word= max_len=0

עבור j ב-$(מחרוזות $i); do len=$(echo -n $j | wc -c)

if (( len > max_len )); ואז max_len=$len max_word=$j

fi

עשה

echo "$i: '$max_word' ($max_len תווים)"

פי בוצע


תמונה

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


למה אני?

אולי שמתם לב שהמשתנה i נבחר עבור כל אחד מה- ל דוגמאות לולאות למעלה. למה? אין סיבה ספציפית למעשה, מלבד המסורת. המשתנה המשמש עם ל יכול להיות כל משתנה חוקי, אבל i הוא הנפוץ ביותר, ואחריו j ו k.



תמונה

הבסיס למסורת זו מגיע משפת התכנות Fortran. ב-Fortran, משתנים לא מוצהרים המתחילים באותיות I, J, K, L ו-M מוקלדים באופן אוטומטי כמספרים שלמים, בעוד שמשתנים המתחילים בכל אות אחרת מוקלדים כאמיתיים (מספרים עם שברים עשרוניים). התנהגות זו הובילה את המתכנתים להשתמש במשתנים I, J ו-K עבור משתני לולאה, מכיוון שהיה צורך פחות עבודה להשתמש בהם כאשר היה צורך במשתנה זמני (כפי שיש לעתים קרובות משתני לולאה).

זה גם הוביל לשנינות המבוססת על פורטרן הבאה: "אלוהים הוא אמיתי, אלא אם כן הוכרז מספר שלם."


מחשוב ענן מערכת ההפעלה המוביל ב-OnWorks: