ایستگاه های کاری آنلاین OnWorks Linux و Windows

لوگو

میزبانی آنلاین رایگان برای ایستگاه های کاری

<قبلی | فهرست | بعدی>

برای: فرم پوسته سنتی

اصلی برای نحو دستور این است:

برای متغیر [که در کلمات]؛ انجام دادن

دستورات

انجام شده

جایی که متغیر نام متغیری است که در طول اجرای حلقه افزایش می یابد، کلمات یک لیست اختیاری از مواردی است که به طور متوالی به آنها اختصاص داده می شود متغیرو دستورات دستوراتی هستند که باید در هر تکرار حلقه اجرا شوند.

La برای دستور در خط فرمان مفید است. ما به راحتی می توانیم نحوه عملکرد آن را نشان دهیم:



[me@linuxbox ~]$ برای i در ABCD; انجام echo $i; انجام شده

آ ب پ ت

[me@linuxbox ~]$ برای i در ABCD; انجام echo $i; انجام شده

آ ب پ ت


در این مثال ، برای لیستی از چهار کلمه ارائه می شود: "الف"، "ب"، "ج" و "د". با یک لیست از چهار کلمه، حلقه چهار بار اجرا می شود. هر بار که حلقه اجرا می شود، یک کلمه به متغیر اختصاص داده می شود i. در داخل حلقه، ما یک از دست دستوری که مقدار i برای نشان دادن تکلیف همانطور که با در حین و تا حلقه ها، انجام شده کلمه کلیدی حلقه را می بندد.


ویژگی واقعا قدرتمند از برای تعداد راه‌های جالبی است که می‌توانیم فهرست کلمات را ایجاد کنیم. به عنوان مثال، از طریق گسترش مهاربند:



[me@linuxbox ~]$ برای من در {A..D}; انجام echo $i; انجام شده

آ ب پ ت

[me@linuxbox ~]$ برای من در {A..D}; انجام echo $i; انجام شده

آ ب پ ت


یا بسط نام مسیر:



[me@linuxbox ~]$ برای i در distros*.txt; انجام echo $i; انجام شده

توزیع به تاریخ.

distros-vernums.txt distros-versions.txt

[me@linuxbox ~]$ برای i در distros*.txt; انجام echo $i; انجام شده

توزیع به تاریخ.

distros-vernums.txt distros-versions.txt


یا جایگزینی دستور:



#! / bin / bash

# longest-word: پیدا کردن طولانی ترین رشته در یک فایل در حالی که [[ -n $1 ]]; انجام دادن

اگر [[ -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 کاراکترها)"

فی شیفت

انجام شده

#! / bin / bash

# longest-word: پیدا کردن طولانی ترین رشته در یک فایل در حالی که [[ -n $1 ]]; انجام دادن

اگر [[ -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 کاراکترها)"

فی شیفت

انجام شده

برای: فرم پوسته سنتی


در این مثال، ما به دنبال طولانی‌ترین رشته موجود در یک فایل می‌گردیم. هنگامی که یک یا چند نام فایل در خط فرمان داده می شود، این برنامه از آن استفاده می کند رشته های برنامه ای (که در بسته GNU binutils گنجانده شده است) برای ایجاد لیستی از متن های قابل خواندن "کلمات" در هر فایل. در برای حلقه هر کلمه را به نوبه خود پردازش می کند و تعیین می کند که آیا کلمه فعلی طولانی ترین کلمه ای است که تاکنون پیدا شده است یا خیر. هنگامی که حلقه به پایان می رسد، طولانی ترین کلمه نمایش داده می شود.

اگر اختیاری است in کلمات بخشی از برای دستور حذف شده است، برای پیش فرض برای پردازش پارامترهای موقعیتی است. ما خود را اصلاح خواهیم کرد طولانی ترین کلمه اسکریپت برای استفاده از این روش:



#! / bin / bash

# longest-word2: پیدا کردن طولانی ترین رشته در یک فایل برای i; انجام دادن

اگر [[ -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; انجام دادن

اگر [[ -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، متغیرهای اعلام نشده که با حروف I، J، K، L و M شروع می‌شوند، به‌طور خودکار به صورت اعداد صحیح تایپ می‌شوند، در حالی که متغیرهایی که با هر حرف دیگری شروع می‌شوند به صورت واقعی (اعداد با کسر اعشاری) تایپ می‌شوند. این رفتار باعث شد برنامه نویسان از متغیرهای I، J و K برای متغیرهای حلقه استفاده کنند، زیرا زمانی که یک متغیر موقت (همانطور که متغیرهای حلقه اغلب هستند) استفاده از آنها کار کمتری بود.

همچنین منجر به شوخ طبعی مبتنی بر فرترن شد: "خدا واقعی است، مگر اینکه عدد صحیح اعلام شود."


برترین سیستم عامل Cloud Computing در OnWorks: