آموزشبرنامه نویسیروبیمیم تک 24نرم افزارنرم افزار کامپیوتر

آموزش برنامه نویسی با روبی (قسمت پنجم) : تکرار شونده ها در Ruby

تکرار شونده ها در روبی

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

تکرار شونده ها یا Iterators :

در تکرار شونده ها بیشتر از حلقه ها استفاده می شود.

در این جلسه ما یکسری از تکرار شونده ها که نیز معادل هم هستند را با مثال برای شما قرار خواهیم داد:

مثال: ۵ بار کلمه Hello را چاپ کن:

یا می توان این حلقه ی تکرار شونده را به صورت زیر نوشت:

یک روش جایگزین باز با استفاده از تکرار شونده ها برای مثال بالا به صورت زیر هم می تواند باشد:

یا به صورت زیر :

مثال: ۵ بار کلمه Hello را با مقدار num چاپ کن:

مثال: حروف اول تمام کلمات آرایه زیر را  بزرگ کنید:

[‘fruits=[‘banana’ , ‘apple, ‘orange

یا می توان از تکرار شونده زیر استفاده کرد:

کاربرد تکرار شونده ها برای انواع داده :

1- برای نوع داده ی integer و floats :

از تکرار شونده های times, upto , downto , step استفاده خواهیم کرد.

2- برای نوع داده ی Rang :

از تکرار شونده های each , step استفاده خواهیم کرد.

3- برای نوع داده ی string:

از تکرار شونده های each, each_line, each_byte استفاده خواهیم کرد.

4- برای آرایه ها :

از تکرار شونده های each, each_index, each_with_index استفاده خواهیم کرد.

5- برای Hash :

از تکرار شونده های each, each_key, each_value, each_pair استفاده خواهیم کرد.

تکرار شونده ها و بلاک های کد :

بلاک های کد نیز دارای یک سری متد خاص هستند از جمله: find, merge, collect, sort, inject

بلاک های کد را در قالب مثال های زیر توضیح می دهیم.

مثال:

نکته: array1 در مثال بالا local variable است اما متغیر num جزء variable block هستش و در همان محدوده ی بلاک کاربرد دارد.

تکرار شونده ها و متد find :

متد find نیز خود دارای یک سری متد دیگر است:

  • find / detect
  • find_all / select
  • any?
  • all
  • delete_if

در زیر راجع به هرکدام مثال مربوطه را خواهیم نوشت:

مثال find:

مثال detect:

مثال find_all:

مثال any?

مثال all:

مثال delete_if:

نکته: خروجی برای متدهای find به صورت زیر است:

  • find / detect         خروجی به صورت object or nil
  • find_all / select    خروجی به صورت array
  • any?                    خروجی به صورت boolean
  • all                        خروجی به صورت boolean
  • delete_if              خروجی به صورت array

تکرار شونده ها و متد merge :

این متد فقط برای هش ها کاربرد دارد.

hash1.merge(hash2)

اولویت با مقادیر hash2 است و hash2 در hash1 جایگزین می شود. یعنی hash2 جدید و hash1 قدیمی است.

مثال زیر برای درک این متد است:

مثال:

در این مقاله با تکرار شونده ها در روبی آشنا شدیم.

ارسال پاسخ