آموزش زبان برنامه نویسی روبی - متغییرها و انواع داده
در این جلسه با متغییرها در روبی آشنا خواهیم شد ولی قبل از شروع مبحث متغییرها در روبی اجاز دهید تا یکسری موارد دیگر رو باهم یاد بگیریم.
اگر کاربر گنو/لینوکس هستید ترمینال و اگر کاربر ویندوز هستید CMD خود را باز کنید.(نکته: از این پس بجای محیط کامندلاین، CMD؛ ترمینال رو بکار خواهم برد پس اگر کاربر ویندوز هستید هر زمان ترمینال رو مشاهده کردید بدانید در ویندوز منظورم همان cmd هست!)
برای بررسی اینکه آیا روبی در سیستم عامل ما بدرستی نصب شده یا برای اطلاع از نسخه روبی که نصب کردیم در ترمینال دستور زیر را وارد کنید.
ruby -v
خروجی دستور بالا در سیستم من (لینوکس مینت) بصورت زیر بود.
ruby 2.3.1p112 (2016-04-26) [x86_64-linux-gnu]
که در حال حاضر نسخه ۲.۳.۱ رو نصب دارم!
مورد بعدی که باید بدانید محیط تعاملی روبی هستش که با زدن دستور زیر در ترمینال میتونید وارد محیط تعاملی روبی بشید.
irb
بعد از زدن دستور بالا با عبارتی مانند کدهای زیر مواجه خواهید شد.
farhadhp@farhadhp-PC ~ $ irbirb(main):001:0>
حالا میتونید در این محیط کدهای روبی رو بنویسید و اجرا کنید؛ به عنوان اولین کد میخواهیم متن سلام دنیا رو چاپ کنیم بنا براین در محیط تعاملی روبی کد زیر رو وارد میکنیم.
irb(main):001:0> puts "Hello, world!"
خروجی بصورت زیر خواهد بود.
farhadhp@farhadhp-PC ~ $ irb irb(main):001:0> puts "Hello, world!" Hello, world! => nil irb(main):002:0>
نکته: توسط puts در روبی میتوانیم مقدار یا رشتهای را در خروجی چاپ کنیم؛ در آینده توضیحات بیشتری در رابطه با puts خدمتتون ارایه خواهم داد؛ فقط خواستم صرفا بدونید چکار میکنه!
بعد از اجرای کد بالا به ما مقدار nil (همون null هست که در روبی بصورت nil نشون داده میشه) رو برمیگردونه!
پسوند فایلها در روبی
در روبی میتوانیم کدهای خودمون رو در یک فایل متنی نوشته و اونو با پسوند .rb ذخیره کرده و اجرا کنیم؛ در جلسات بعدی مثالی در این رابطه خواهم زد.
همچنین اگر بخواهید کدهای روبی رو محیط ترمینال یا شل اسکریپت بدون وارد کردن کامند ruby و پسوند rb اجرا کنید؛ میتوانید به اولین خط فایل حاوی کد عبارت زیر رو اضافه کنید.
#!/usr/bin/ruby
البته مورد بالا فقط در سیستم عاملهای یونیکس بیس قابل استفاده میباشد.
انواع دادهها و متغییرها در زبان برنامه نویسی روبی
در زبان برنامه نویسی روبی برخلاف زبانهای برنامه نویسی دیگر مثل جاوا، سی، سی شارپ؛ نیازی به تعیین کردن نوع متغییر قبل از تعریف متغییر نداریم.
همچنین در زبان برنامه نویسی روبی نیازی به درج سمی کالون در آخر تعریف متغییرها و... نیست.
به کد زیر توجه کنید:
a = 1 b = 1.0
من در بالا دو متغییر با نامهای a و b تعریف کردم. ظاهرا هر دو متغییر مقدار یکسانی دارند ولی نوع متغییرها باهم فرق میکند! متغییر a از نوع اینتجر (integer) یا عددی میباشد ولی متغییر b از نوع اعشاری یا float میباشد!
برای تعریف متغییر از جنس باینری (دودویی) بصورت زیر عمل میکنیم.
a = 0b01
موقع اجرا مفسر پایتون مقدار باینری را به دسیمال (دهدهی) تبدیل کرده و استفاده میکند! اگر دستور بالا را در محیط تعاملی روبی وارد کنید به شما در خروجی عدد 1 را برمیگرداند.
برای اعداد مبنای هشت هم فقط کافیه در ابتدای مقدار مد نظرمون عدد 0 رو درج کنیم به کد زیر توجه کنید.
a = 012
اگر کد بالا رو در محیط تعاملی روبی اجرا کنید بهتون مقدار 10 رو بازمیگرداند چرا که عدد ۱۲ مبنای هشت معادل عدد ۱۰ در مبنای دهدهی می باشد.
برای اعداد مبنای شانزده شانزدهی هم بصورت زیر تعریف میکنیم.
a = 0x12
اگر کدبالا رو اجرا کنید بهتون عدد ۱۸ رو برمیگردونه.
نکته: همه اعدادی که در مبناهای مختلف در روبی وارد میشوند موقع اجرای کدها تبدیل به معادل دسیمال (دهدهی) میشوند.
دادههای بولین در روبی با true یا false مشخص میشوند که فقط یکی از دو حالت صحیح یا غلط رو شامل میشود! این نوع داده بیشتر در شرطها مورد استفاده قرار میگیرد که در آینده با مثال توضیح خواهم داد.
رشتهها در روبی در داخل دابل کوتیشن (" ") قرار میگیرند!
در مثال زیر من یک متغییر رشتهای تعریف کردم.
text = "BirGeek"
نکات بسیار مهم در تعریف متغییر در روبی
- متغییرها باید با حروف کوچک لاتین شروع شوند
- متغییرها نمیتوانند با عدد شروع شوند
- نیازی به درج سمیکالون (;) در آخر متغییر نمی باشد
تعریف ثوابت در روبی
ثابت چیست؟ ثابتها در واقع متغییرهایی هستند که در طی اجرای برنامه نمیتوان مقادیر آنها را تغییر داد!
تعریف ثوابت در روبی همانند متغییر می باشد با این تفاوت که که اولین حرف ثوابت میبایست با حرف بزرگ شروع شود. به مثال زیر توجه کنید.
Text = "I love RUBY !!!"
در کد بالا ثابتی با نام Text تعریف کردم.
این جلسه رو در اینجا به پایان میرسونم؛ در این جلسه با انواع داده و متغییرها در زبان برنامه نیوسی روبی اشنا شدید؛ به عنوان مثال در محیط تعاملی روبی اقدام به تعریف متغییر و ثوابت کنید.
راستی میاید با کرمهای کامپیوتر تبادل لینک؟