مقدمه
در قسمتهاي گذشته شما را با "روبي آنريلز" آشنا كرديم و نحوه نصب و تنظيم آن را بيان نموديم . در اين قسمت کمي درباره برنامهنويسي با اين زبان صحبت خواهيم کرد. نوشتن برنامه با روبي با ساير زبانهاي برنامهنويسي متفاوت است، چيزي که در انتهاي اين قسمت آن را خواهيد ديد.
از بهروز بودن خود اطمينان حاصل كنيد!
در ابتداي کار، براي اين که مطمئن شويد که آخرين نسخه روبي را داريد يک پنجره خط فرمان باز کنيد و در آن بنويسيد:
اين کار را ميتوانيد هر چند ماه يک بار انجام دهيد تا اطمينان حاصل کنيد که نسخه بهروزي داريد زيرا کار کردن با آن راحتتر است. سپس شماره نسخه روبي را چک کنيد. براي اين کار در خط فرمان بنويسيد Ruby –v تا نسخه روبي شما به نمايش درآيد.
آشنايي بيشتر با روبي
از آن جايي که در مراحل قبلي، روبي آن ريلز را در مسيرهاي قابل دسترسي Path قرار دادهايد، ميتوانيد برنامههاي آن را از هر جايي اجرا کنيد.
براي آغاز به کار با روبي کارهاي زيادي ميتوانيد انجام دهيد، اما يکي از سادهترين آنها استفاده از IRB است. درحقيقت IRB سرنام Interactive Ruby Shell است و محيطي در اختيار شما قرار ميدهد که بتوانيد با ويژگيهاي روبي بيشتر آشنا شويد.
براي اين که وارد IRB شويد، کافي است يک پنجره خط فرمان باز کرده و دستور IRB را در آن وارد کنيد. حالا وارد محيط IRB شدهايد . اين محيط بسيار شبيه به کنسول داس است و به شما امکان ميدهد که دستورهاي روبي را وارد كرده و جواب بگيريد.
با اين پنجره به راحتي ميتوانيد با زبان روبي کار کنيد و قابليتهاي آن را بسنجيد، ضمن آنکه IRB فقط براي شروع نيست و بعدها براي ديباگ کردن برنامهها هم ميتوان از آن استفاده كرد.
کار را با مثالي بسيار ساده شروع ميکنيم. IRB را اجرا کنيد، پنجرهاي مثل شکل 1 خواهيد ديد:

شکل 1
در اين پنجره به سادگي بنويسيد 1 و دکمه Enter را بزنيد. در جواب شما، IRB پاسخ خواهد داد: 1.
ما در اين مثال عدد (1) را به روبي داديم و آن هم در جواب ما همان عدد (1) را به ما بازگرداند. در اين ميان چه اتفاقي افتاد؟
حقيقت آن است که آن عدد (1) که روبي به ما برگرداند، همان عدد (1) نيست که ما به آن داده بوديم. ما تنها يک عدد نوشتيم و روبي آن را به يک شيء (Object) کامل تبديل کرد و بعد به ما برگرداند. يعني آن (1) نوشته شده توسط IRB يک شيء روبي است.
در زبان روبي، هر چيزي شيء است. سر و کار داشتن با اشيا کار راحتي است و به همين دليل است که روبي به هر چيزي به چشم شيء مينگرد.
هر شيء بايد متعلق به يک کلاس مشخص باشد. به اين ترتيب است که اشيا ميتوانند دادهها و متدها را ذخيره کنند.
براي اين که ببينيم اين عدد (1) که به روبي داديم و برايمان به شيء تبديل کرد به چه کلاسي تعليق دارد يک دستور وارد ميکنيم. بنابراين مينويسيم :

شکل 2
و در جواب ميگيريم :
به اين ترتيب مشخص ميشود که شيء (1) ما به کلاس Fixnum تعلق دارد. اين کلاس براي ذخيره کردن مقادير صحيح استفاده ميشود.
اما ما گفتيم که هر چيزي در روبي يک شيء است و به يک کلاس تعلق دارد. همانطور كه گفتيم Fixnum خود يک کلاس است، اما چون در زبان روبي است ميتوانيم اين سوال را مطرح کنيم که آيا خود Fixnum هم يک شيء است؟
از روشي که به تازگي آموختهايم استفاده ميکنيم:
در صورت وارد كردن فرمان مورد نظر خواهيد ديد، Fixnum خود يک شيء از کلاس Class است. البته مورد ديگري که احتمالاً در آينده با آن برخورد خواهيد كرد اين است که روبي به بزرگ و کوچک بودن حروف حساس است و حتما بايد اين مساله را در آن رعايت کنيد.
ضمن آن که کلمه class که ما در کنار عدد (1) و Fixnum نوشتيم، يک متد است. متدها در روبي با حروف کوچک نوشته ميشوند. جواب خروجي Fixnum.class برابر بود با Class که حرف اول آن بزرگ است. اسم کلاسها در روبي با حروف بزرگ شروع ميشود و به اين ترتيب، اين کلاس با آن کلمه class که ما نوشتيم فرق دارد.
حالا کمي درباره Literal ها صحبت کنيم.
در مرحله قبل، ما يک عدد (1) به روبي داديم ولي اين بار ميخواهيم يک رشته به آن بدهيم( شکل 3 ).

شکل 3
در اينجا ميبينيد که هر رشتهاي به روبي بدهيم، آن را به شيء تبديل کرده و برميگرداند.
در شکل4 ميتوانيم کلاس اشياي رشتهاي را ببينيم:

شکل 4
شيء متعلق به کلاس String، متدهاي زيادي دارد. مثلا ميتوانيم به راحتي ببينيم که اين شيء چقدر طول داردو براي اين کار کافيست از متد length استفاده کنيم ( شکل 5 ). اين متد براي تمام اشياي از کلاس String قابل اجرا خواهد بود.

شکل 5
متغيرها و ثابتها
احتياجي به بازگو کردن اين نکته نيست که براي ذخيره کردن مقادير، ميتوان از متغيرها و ثابتها استفاده کرد. ثابتها فقط يک بار مقدار ميگيرند. البته ميتوان اين روال را تغيير داد و مقادير آنها را عوض کرد. هر چند که با اين كار يک پيغام هشدار نشان داده خواهد شد. مقدار متغيرها را ميتوان تغيير داد و حتي آن را از ميان برد تا فضايي که اشغال کردهاند باز گشته شود.
در زبان روبي، ثابتها همواره با حروف تمام بزرگ نوشته ميشوند. متغيرها هم با حرف کوچک شروع ميشوند.
براي نسبت دادن هم از عملگر = استفاده ميکنيم.
در شکل 6، متغير و ثابت و پيغامهاي IRB نشان داده شده است.

شکل 6
در اين قسمت ميخواهيم کمي با متغيرها کار ميکنيم.
همانطور كه در شكل 7 ملاحظه ميكنيد، "نقطه" نقش مهمي را در زبان روبي بازي ميکند و براي استفاده از خصوصيات اشيا بسيار به کار ميرود.

شکل 7
علامت پر استفاده ديگر، # است. اين علامت براي نوشتن توضيحات است( شکل 8 ):

شکل 8
نکته ديگر هم اين است که اگر خواستيد متدي را فراخواني کنيد، اگر قرار به ارسال پارامتر نباشد ميتوانيد پرانتز باز و بسته را هم بگذاريد و هم نگذاريد. براي روبي اين مورد فرقي نميکند.
در زبان روبي از علامتها استفادههاي بسيار زيادي ميشود. يک مثال در اين زمينه، علامت تعجب (!) است.
در متدهايي که ميتوانند مقدار شيء را تغيير دهند، اگر در انتهاي فراخواني خود علامت تعجب بگذاريد اين تغيير پايدار خواهد بود وگرنه فقط براي همان دستور اين اتفاق خواهد افتاد. مثلا يک متد براي رشتهها داريم به اسم upcase. اين متد، تمام حروف رشته را به كاراكتر بزرگ تبديل ميکند.
در شکل 9 مشاهده ميشود که upcase، حروف متغير ما را بزرگ کرد ولي اين تغيير فقط براي همان يک خط بود و محتواي متغير تغييري نکرد. اما اگر در انتهاي فراخواني علامت تعجب بگذاريد، اين تغيير قطعي ميشود:

شکل 9
اكنون كه با مفاهيم پايهاي روبي آن ريلز آشنا شديد، قصد داريم در شماره آينده، برنامه نويسي واقعي را با بيان چند كد كاربردي را آغاز كرده و شما را با راحتي و خوشدستي اين زبان دوست داشتني هر چه بيشتر آشنا كنيم.