دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۲۶
  • اردیبهشت

جلسه ۱۴ : آموزش کار با References در پرل

  • دسته‌بندی‌ها :
جلسه ۱۴ : آموزش کار با References در پرل
    • جزئیات
    • نوع محتواآموزشی

      مقدمه

      با سلام خدمت کاربران گرامی سایت پی وی لرن و کاربرانی که علاقمندان به دوره آموزشی پرل Perl. در جلسه گذشته آموزش کار با subroutine را به صورت جزئی و مفصل به علاقمندان این دوره ارائه کردیم و کاربردها و انواع به معرفی نمودیم. در این جلسه و در ادامه این دوره آموزشی، آموزش کار با References در پرل را به طرفداران پرل ارائه خواهیم کرد.

      آموزش کار با References در پرل

      در ابتدا آموزش کار با References در پرل به معرفی References می پردازیم.
      References یک نوع داده اسکالر است که موقعیت اسکالرهای دیگر را که می توانند اسکالر، array و یا hashes شوند را نگه می دارد.
      به خاطر ماهیت اسکالر ها، یک References می تواند هر جایی که یک اسکالر به کار رود استفاده شود.
      می توان لیستی از References ها را برای سایر لیست ها ایجاد نمود که حاوی References هایی برای hashes هاست و … است.
      به همین شکل و منوال است که ساختار داده های تو در تو برای پرل ساخته می شود.

      ایجاد References

      ساخت یک References برای یک متغیر، subroutine، و یا مقدار به وسیله پیشوند سازی آن به وسیله backslash بسیار ساده است.
      به مثال زیر توجه کنید.

      مثال : 

      نمی توان  با استفاده از اپراتور backslash یک مرجع در یک دسته I/O یا (filehandle or dirhandle) ایجاد کرد.
      اما برای ایجاد یک References به یک arrray ناشناخته مانند مثال زیر باید از square brackets استفاده کرد.

      مثال : 

      به طور مشابه مانند مثال زیر می توان با استفاده از curly brackets یک References به یک hash ناشناخته ایجاد نمود.

      مثال : 

      علاوه بر این دو مورد می توان برای یک subroutine ناشناخته نیز یک References ساخت و البته از subname هیچ نیز استفاده نکرد.

      مثال : 

      حذف یک References یا (Dereferencing)

      Dereferencing مقدار را از reference point به موقعیت فعلی باز می گرداند.
      برای تبدیل یک reference به Dereferencing بسته به آن که آیا reference به یک اسکالر، array یا hash اشاره می کند می توان از پیشوند $، @ و یا % استفاده نمود.
      برای درک بیشتر مسئله به مثال زیر توجه کنید.

      مثال : 

      اجرای کد بالا خروجی به شکل زیر خواهد داشت.

      مثال : 

      اگر در مورد نوع متغیر مطمئن نیستید خوب است بدانید که متغیر از ref استفاده می نماید.
      ref اگر argument یک رشته به عنوان reference تعیین شده باشد آن را بازگردانی می نماید.
      به عبارت دیگر ref اقدام به بازگردانی false می کند.

      مثال : 

      حالا بیاید مثال زیر را امتحان کنیم.

      مثال : 

      اجرای کد بالا خروجی به شکل زیر خواهد داشت.

      مثال : 

      References دایره ای

      یک References دایره ای هنگامی رخ می دهد که دو References دارای یک Reference مرتبط با هم باشند.
      بنابرین هنگام ایجاد References ها باید بسیار دقت کنید در غیر این صورت نا خواسته ممکن است یک References دایره ای ایجاد نمایید.
      References دایره ای موجب لو رفتن اطلاعات حافظه می شوند.
      برای درک بیشتر موضوع به مثال زیر توجه نمایید.

      مثال : 

      اجرای کد بالا خروجی به شکل زیر خواهد داشت.

      مثال : 

      ایجاد یک Reference به توابع

      این اتفاق ممکن است زمانی بی افتد که می خواهید یک signal handler را بسازید.
      در این صورت می توانید به وسیله مقدم کردن نام یک تابع با &\ و دایره ای کردن آن reference به سادگی یک reference برای یک تابع ایجاد نمایید.
      در این روش لازم است که مقادیر reference را با استفاده از عبارت & پیشوند سازی نمایید.
      برای درک بهتر موضوع به مثال زیر توجه نمایید.

      مثال : 

      اجرای کد بالا خروجی به شکل زیر خواهد داشت.

      مثال : 

      کلام آخر

      در این جلسه آموزش کار با References در پرل را ارائه کردیم.
      در جلسه بعدی با آموزش فرمت ها در پرل در کنار شما خواهیم بود.
      با پی وی لرن همراه باشید.

      QR:  جلسه ۱۴ : آموزش کار با References در پرل
      به اشتراک بگذارید