با سلام خدمت کاربران گرامی سایت پی وی لرن و کاربرانی که علاقمندان به دوره آموزشی پرل Perl. در جلسه گذشته کار با انواع داده در این زبان برنامه را آموزش دادیم و جزئیات مربوط به داده را به صورت مفصل بررسی کردیم. در این جلسه و در ادامه آموزش پرل، آموزش کار با متغیر ها در پرل را به علاقمندان این دوره ارائه می نماییم.
متغیر ها در پرل حافظه ای اند که در آن ها مقادیر را ذخیره سازی می نماییم.
این به آن معناست که وقتی متغیر جدیدی ایجاد می کنید مقداری از حافظه را مصرف می نمایید.
بر اساس نوع متغیر، مترجم پرل تصمیم می گیرد که چه چیزی ذخیره شده و چه مقدار از حافظه به آن اختصاص یابد.
بنابراین، با اختصاص دادن انواع داده های مختلف به متغیرها، می توان integers, decimals, یا strings (رشته ها) را در آن ها ذخیره کرد.
در آموزش کار با متغیر ها در پرل شما را با انواع متغیر ها در این زبان آشنا می کنیم؛ به طور کل پرل دارای سه نوع داده اساسی است:
بر این اساس، ما از سه نوع متغیر در پرل استفاده می کنیم.
متغیر اسکالر که با علامت دلار ($) می آید و می تواند اعداد، رشته ها یا مراجع و منابع را ذخیره کند.
متغیر Arrays که قبل از علامت @ می آید و لیست های مرتب شده اسکالر ها را ذخیره می کند.
متغیر Hash که قبل از علامت ٪ می آید و برای ذخیره مجموعه ای از جفت های key/value استفاده می شود.
پرل هر نوع متغیر را در یک namespace جداگانه نگه می دارد.
مزیت این کار این است که می توان بدون این که تداخل و مشکلی صورت گیرد یک نام مشابه و تکراری را برای یک متغیر scalar،array و hash به کار برد.
به خاطر همین است که می توان foo@ و foo$ را دو متغیر کاملاً متفاوت در پرل محسوب کرد.
متغیر های پرل صراحتاً اعلام نمی کنند که قصد استفاده از حافظه را دارند.
در واقع این کار زمانی رخ می دهد که یک مقدار را برای یک متغیر اختصاص داده باشیم.
در این خصوص علامت = نشان از اختصاص داده شدن مقادیر به متغیر ها است.
اگر از strict statement در برنامه تان استفاده می کنید در این صورت باید قبل از استفاده از یک متغیر آن را اعلام نمایید.
operand سمت چپ = نام متغیر
operand سمت راست = مقدار ذخیره شده در متغیر
برای فهم این مسئله به مثال زیر توجه کنید.
1 2 3 | $age = 25; # An integer assignment $name = "John Paul"; # A string $salary = 1445.50; # A floating point |
در اینجا ۲۵، “جان پل” و ۱۴۴۵٫۵۰، به ترتیب به age، $ name $ و salary $ متغیر اختصاص یافته است.
در کوتاه مدت می بینیم که چگونه می توان مقادیر را به arrays ها و Hashes ها اختصاص داد.
متغیر Hash یکی دیگر از متغیر هایی است که در آموزش کار با متغیر ها در پرل با آن آشنا می شوید.
اسکالر یک واحد مستقل از داده است.
این داده ممکن است یک عدد صحیح، یک floating point، یک کاراکتر، یک رشته، یک پاراگراف و یا یک صفحه کامل وب باشد.
در زیر می توانید یک مثال ساده از استفاده از متغیرهای اسکالر را ببینید.
1 2 3 4 5 6 7 8 9 | #!/usr/bin/perl $age = 25; # An integer assignment $name = "John Paul"; # A string $salary = 1445.50; # A floating point print "Age = $age\n"; print "Name = $name\n"; print "Salary = $salary\n" |
این دستور نتیجه ای به شکل زیر خواهد داشت.
1 2 3 | Age = 25 Name = John Paul Salary = 1445.5 |
یک Array یک متغیر است که یک فهرست مرتب شده از مقادیر اسکالر را ذخیره می کند.
متغیرهای آرایه قبل از علامت @ می آیند.
برای اشاره به یک عنصر Array از علامت $ در کنار نام متغیر استفاده می شود که توسط ایندکس عناصر در square brackets دنبال می شود.
در زیر می توانید یک مثال ساده از استفاده از متغیرهای Array را ببینید.
1 2 3 4 5 6 7 8 9 10 11 | #!/usr/bin/perl @ages = (25, 30, 40); @names = ("John Paul", "Lisa", "Kumar"); print "\$ages[0] = $ages[0]\n"; print "\$ages[1] = $ages[1]\n"; print "\$ages[2] = $ages[2]\n"; print "\$names[0] = $names[0]\n"; print "\$names[1] = $names[1]\n"; print "\$names[2] = $names[2]\n"; |
در این جا ما از علامت (\) قبل از علامت $ برای پرینت استفاده می نماییم.
انواع دیگر پرل ها این متغیر را شناسایی کرده و مقدار آن را پرینت می کند.
بعد از اجرای آن نتیجه زیر را دریافت خواهید کرد.
1 2 3 4 5 6 | $ages[0] = 25 $ages[1] = 30 $ages[2] = 40 $names[0] = John Paul $names[1] = Lisa $names[2] = Kumar |
یک Hash یک جفت از است.
متغیرهای Hash قبل از علامت % می آیند.
برای اشاره به عنصر مستقل Hash باید از متغیر نام Hash که توسط اتصال دهنده “key” با مقدار curly brackets دنبال می شود؛ استفاده کرد.
در زیر می توانید یک مثال ساده از استفاده از متغیرهای Hash را ببینید.
1 2 3 4 5 6 7 8 | #!/usr/bin/perl %data = ('John Paul', 45, 'Lisa', 30, 'Kumar', 40); print "\$data{'John Paul'} = $data{'John Paul'}\n"; print "\$data{'Lisa'} = $data{'Lisa'}\n"; print "\$data{'Kumar'} = $data{'Kumar'}\n"; |
این دستور نتیجه ای به شکل زیر خواهد داشت.
1 2 3 | $data{'John Paul'} = 45 $data{'Lisa'} = 30 $data{'Kumar'} = 40 |
در ادامه آموزش کار با متغیر ها در پرل شما را با متغیر context و کاربرد آن در این زبان برنامه نویسی خواهیم پرداخت.
پرل با متغیرهای مشابه مبتنی بر اساس context که دارند به صورت متفاوتی رفتار می کند.
بیایید مثال زیر را بررسی کنیم.
1 2 3 4 5 6 7 8 9 | #!/usr/bin/perl @names = ('John Paul', 'Lisa', 'Kumar'); @copy = @names; $size = @names; print "Given names are : @copy\n"; print "Number of names are : $size\n"; |
این دستور نتیجه ای به شکل زیر خواهد داشت.
1 2 | Given names are : John Paul Lisa Kumar Number of names are : 3 |
در این جا names@ یک Array محسوب می شود که در دو context متفاوت به کار رفته اند.
ابتدا آن را در Array دیگر کپی می کنیم، بدین ترتیب همه عناصر فرض شده که در لیست contexts هستند بازگردانی می شوند.
در مرحله بعد ما از همان Array استفاده کرده و آن را در یک اسکالر ذخیره می نماییم.
این عمل موجب می شود که فقط تعدادی عنصر از Array به دست آیند البته با فرض این که این contexts یک contexts اسکالر می باشد.
در ادامه می توانید جدولی را ببینید که contexts های مختلف و متغیر های contexts را در پرل به شما معرفی می کند.
شماره Context | Context و توضیحات آن |
۱ | Scalar این context به به سمت راست زمینه یک اسکالر مقادیر متغیر ها را اختصاص می دهد. |
۲ | List این context مقادیر را به سمت راست زمینه یک Array یا Hash اختصاص می دهد. |
۳ | Boolean زمینه بولین ساده ترین نوع context است که عبارات می توانند در آن ارزیابی شوند. این ارزیابی به منظور تعیین درستی یا نادرستی context صورت می گیرد. |
۴ | Void این context نه تنها به مقدار بازگردانی شده توجهی نمی کند بلکه هیچ مقداری را نیز بازگشت نمی دهد. |
۵ | Interpolative این contexts فقط در درون یک نقل قول رخ می دهد. در غیر این صورت و در مواردی که مشابه با نقل قول باشند اتفاق خواهد افتاد. |
در این جلسه آموزش کار با متغیر ها در پرل را به صورت مفصل و جزء به جرء ارائه کردیم و شما را با انواع متغیر ها یعنی :
متغیر های scalar، متغیر های Array و متغیر های Hash آشنا کردیم.
متغیر اسکالر که با علامت دلار ($) می آید و می تواند اعداد، رشته ها یا مراجع و منابع را ذخیره کند.
متغیر Arrays که قبل از علامت @ می آید و لیست های مرتب شده اسکالر ها را ذخیره می کند.
متغیر Hash که قبل از علامت ٪ می آید و برای ذخیره مجموعه ای از جفت های key/value استفاده می شود.
در جلسه بعدی به تفضیل به معرفی اسکالر ها و انواع اسکالر ها در پرل خواهیم پرداخت و شما را با کار با آن ها آشنا خواهیم کرد.
با پی وی لرن همراه باشید.