خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


آموزش زبان ruby

آموزش زبان ruby

کد مطلب : 12504


روبی (ruby) یک زبان برنامه نویسی قدرتمند و انعطاف پذیر است که می توانید از آن در توسعه برنامه های وب، پردازش های متنی و ساخت بازی های کامپیوتری استفاده کنید. هر چند زبان ruby تقریباً در مجموعه زبان های چند منظوره قرار می گیرد، اما بیشترین دلیل شهرت و محبوبیتش اینست که بخشی از فریم ورک تحت وب Ruby on Rails می باشد که محبوبیت فراوانی بین برنامه نویسان وب کسب کرده است. زبان ruby یک زبان برنامه نویسی سطح بالا می باشد، گرامر بسیار ساده ای دارد و بیشتر از آنکه شبیه زبان های برنامه نویسی باشد تا حد زیادی شبیه زبان انگلیسی است. از آنجا که زبان ruby یک زبان اسکریپتی می باشد، شما نیاز به مترجم ندارید و دستورات آن در زمان اجرا ترجمه می شوند. اگر بخواهیم نمونۀ مشابهی ذکر کنیم می توانیم به زبان php اشاره کنیم که کارکرد مشابهی با زبان ruby دارد. زبان ruby کاملاً شیء گرا می باشد و اساساً شیء گرایی در آن خیلی پر رنگ می باشد. در زبان ruby شما گریزی از اشیاء ندارید و به ناچار باید در چارچوب برنامه نویسی شیء گرا کار کنید. یکی از ویژگی های خاص زبان ruby اینست که طراح آن یعنی Yukihiro Matsumoto بیشترین تأکیدش بر روی راحتی کار برنامه نویس بوده است تا این که بر روی نیازهای ماشین تمرکز داشته باشد، برای همین کار با زبان ruby بسیار ساده است و هر فرد مبتدی یا با تجربه و حرفه ای از کار با آن لذت خواهد برد.

امروز در این آموزش زبان ruby قصد داریم تا شما را با دنیای زیبای ruby آشنا سازیم. البته در خلال این مقالۀ آموزشی، منابع ارزشمندی را نیز به شما معرفی خواهیم کرد تا بتوانید سطح برنامه نویسی تان در زبان ruby را ارتقاء دهید. بعد از خواندن این مقاله می توانید به کمک آموزش مقدماتی زبان برنامه نویسی روبی اولین گام جدی تان در زبان ruby را بردارید.


شروع آموزش زبان ruby با نوشتن کامنت در روبی


معمولاً رسم بر اینست که آموزش زبان های برنامه نویسی را با نوشتن یک برنامۀ Hello World شروع می کنند. اما در این آموزش زبان ruby من قصد دارم سنت شکنی کنم و با نحوۀ نگارش کامنت (توضیحات) کار را شروع کنم. البته دلیل منطقی هم برای این کار دارم. معمولاً تازه کارها با روبی شروع نمی کنند و کسانی که به سراغ زبان ruby می آیند قبلاً دست کم تجربۀ کار با یک زبان برنامه نویسی دیگر را دارند و فقط مایلند بدانند که مفاهیمی که قبلاً با آن ها آشنا هستند، در روبی چگونه پیاده سازی خواهد شد. کامنت ها بخشی از برنامه های اجرایی نیستند و صرفاً توضیحاتی هستند که شما در داخل برنامه می نویسید تا بعداً در مراجعات بعدی به کمک آن ها سریع تر متوجه گردید که آن بخش از کد برنامه چه کار خاصی را انجام می دهد. اهمیت کامنت ها به خصوص در کارهای تیمی و وقتی که افراد مجبورند کار سایرین را تکمیل کنند، مشخص می شود. خط کد زیر، یک کامنت در زبان ruby می باشد.

# Welcome to Ruby!

انواع داده ها در زبان ruby


مشابه بسیاری از زبان های برنامه نویسی دیگر، سه نوع دادۀ اصلی رشته ای (Strings)، عددی (Numbers) و بولی (Booleans) در زبان ruby نیز وجود دارد. نوع دادۀ رشته ای مقادیر متنی را در خودش جای می دهد. نوع دادۀ عددی همانطور که اسمش این موضوع را فریاد می زند، اعداد را در خودش ذخیره می کند و نوع دادۀ بولی، مقادیر منطقی ترو (True) و فالس (False) را در خودش جای می دهد. از آنجا که فلسفۀ ایجاد برنامه های کامپیوتری این بوده است که بتوانند به سرعت به تجزیه و تحلیل داده ها بپردازند، بنابراین در تمامی زبان های برنامه نویسی، بخشی جدایی ناپذیر از کار برنامه نویسی، کار با داده ها می باشد و باید روی این موضوع تسلط کافی را داشته باشید. وقتی بحث نوع داده پیش می آید، ناگزیر هستیم که به متغیرها نیز اشاره کنیم. متغیرها در واقع محل هایی برای ذخیره سازی و نگهداری داده ها در حافظۀ کامپیوتر می باشند. وقتی صحبت از ذخیره سازی داده ها در حافظۀ کامپیوتر می شود، یک فرد مبتدی و نا آشنا با زبان های برنامه نویسی ممکن است کمی بترسد و تصور کند که کار سختی را پیش رو دارد، اما هنگامی که دستور زبان این کار را می بینید، متوجه می شود که هیچ چیزی در دنیا ساده تر از تعریف یک متغیر در زبان ruby نمی باشد. شما حتی مجبور نیستید که نوع داده را برای متغیرها مشخص کنید، چرا که خودش به صورت اتوماتیک از روی مقادیری که به آنها انتساب می دهید، انواع داده ها را شناسایی می کند.

در این قسمت از آموزش زبان ruby به داده های عددی اشاره کردیم. بد نیست اشاره کنیم که هدف از داده های عددی طبیعتاً انجام محاسبات ریاضی می باشد. اگر در زمینۀ انجام محاسبات در زبان برنامه نویسی روبی مشتاق یادگیری بیشتر هستید، می توانید از آموزش رایگان زیر که در فرادرس منتشر شده است، استفاده کنید.


در کد زیر سه متغیر معرفی شده است. در متغیر my_num مقداری عددی قرار داده شده است، بنابراین کامپایلر زبان ruby به صورت اتوماتیک این متغیر را یک متغیر عددی در نظر خواهد گرفت. متغیر دوم، یعنی my_boolean دارای مقدار بولی می باشد. و متغیر سوم my_string دارای یک مقدار متنی می باشد که طبیعتاً متغیری رشته ای خواهد بود. اگر دقت کنید، وقتی که می خواهیم مقادیر رشته ای را به متغیری انتساب دهیم از یک جفت گیومه استفاده می کنیم و سپس متن مربوطه را در داخل این گیومه ها قرار می دهیم. سه خط کد بعدی ارتباطی به تعریف متغیرها ندارند و در واقع در آنها از دستور puts برای چاپ داده ها استفاده کرده ایم. دستور puts ضمن چاپ داده ها، به صورت اتوماتیک یک خط جدید نیز ایجاد می کند تا چاپ بعدی از ابتدای خط جدید آغاز گردد. اگر تمایلی به ایجاد خط جدید ندارید و مایل هستید که تمامی دستورات شما پشت سر هم چاپ شوند، می توانید به جای puts از دستور print استفاده کنید.

my_num =  25
my_boolean = true
my_string = "Amir"
puts my_num
puts my_boolean
puts my_string

با اجرای دستورات بالا، کامپایلر زبان ruby خروجی زیر را تولید خواهد کرد. همان طور که مشاهده می کنید، مقادیر داخل متغیرها چاپ شده اند. اگر به خروجی متغیر رشته ای دقت کنید، خواهید دید که از گیومه ها در خروجی چاپی خبری نیست، دلیل این مسئله این است که آن گیومه ها بخشی از گرامر زبان ruby هستند و ارتباطی به داده های ذخیره شده در متغیر ندارند. در واقع هر آنچه که بین این جفت گیومه قرار بگیرد، دادۀ شما لحاظ می شود.

25
true
Amir

احیاناً اگر در اجرای برنامۀ بالا با مشکل مواجه شدید، اولین چیزی که بررسی می کنید این باشد که بررسی کنید جایی به جای حروف کوچک انگلیسی از حروف بزرگ استفاده نکرده باشید. زبان برنامه نویسی روبی بین این دو تمایز قایل می شود و هر کدام را چیز جداگانه ای در نظر می گیرد. به عنوان مثال my_String و my_string در زبان روبی به دو چیز کاملاً متفاوت اشاره می کنند. برنامه نویسانی که قبلاً با زبان های برنامه نویسی همچون ویژوال بیسیک دات نت کار کرده باشند، در آغاز ممکن است با این موضوع به سختی کنار بیایند.

انجام عملیات ریاضی در زبان ruby


در بخش قبلی این آموزش یک متغیر عددی با نام my_num معرفی کردیم و با علامت انتساب (=) مقداری را به آن انتساب دادیم. در این قسمت از آموزش زبان ruby قصد داریم تا کارهای بیشتری را با اعداد انجام دهیم. در زبان روبی به کمک عملگرهای جمع (+)، تفریق (-)، ضرب (*) و تقسیم (/) می توانیم چهار عملیات اصلی ریاضی را صورت دهیم. ضمن اینکه با عملگر توان (**) می توانیم اعداد را به توان برسانیم و در ضمن عملگر مدول (%) باقی ماندۀ صحیح یک تقسیم را بر می گرداند. در ادامه چگونگی انجام این اعمال ریاضی را می بینید.

اگر مایلید در مورد زبان ruby بیشتر بدانید، آموزش رایگان ساختارهای تصمیم گیری در زبان برنامه نویسی روبی در فرادرس می تواند محل خوبی برای ارتقاء دانشتان در ارتباط با زبان ruby باشد.

در قطعه کد زیر دو متغیر عددی با اسامی number1 و number2 معرفی کرده ایم. به اولی مقدار \(10 \) و به دومی مقدار \(5\) را منتسب نموده ایم. در ادامه حاصل جمع، حاصل تفریق (تفاضل)، حاصل ضرب و حاصل تقسیم آن ها را در صفحه چاپ کرده ایم. همچنین متغیر اول را به توان متغیر دوم رسانده ایم و نتیجه را که \(100,000\) می شود، در خروجی می توانید مشاهده کنید. در ادامه مقادیر این دو متغیر را به \(25\) و \(7\) تغییر داده ایم. و به کمک عملگر مدول، باقی ماندۀ تقسیم \(\frac{25}{7}\) را که \(4\) می باشد، محاسبه کرده و نشان داده ایم.

number1 = 10
number2 = 5
puts number1 + number2
puts number1 - number2
puts number1 * number2
puts number1 / number2
puts number1 ** number2
number1 = 25
number2 = 7
puts number1 % number2

با اجرای برنامۀ بالا، خروجی زیر را مشاهده خواهید کرد.

15
5
50
2
100000
4

هر چیزی در زبان ruby یک شیء می باشد


همان طور که در مقدمۀ آموزش زبان ruby اشاره کردیم، زبان ruby به شدت شیء گرا می باشد. اساساً هر چیزی که در زبان روبی با آن سر و کار دارید یک شیء (object) می باشد. هر کدام از این اشیاء یک سری توانایی های درونی دارند که به آن ها متد (methods) گفته می شود. به عنوان مثال رشته ها (strings) دارای متدهایی هستند که به شما کمک می کنند یک سری پردازش های متنی را انجام دهید. برای این که درک بهتری از متدها داشته باشید، به مثال های زیر توجه کنید. در قطعه کد زیر یک متغیر رشته ای با نام string1 معرفی کرده ایم و مقداری را در آن قرار داده ایم. در ادامه به کمک متد length که آن را به شکل string1.length نوشته ایم، طول این متن را در صفحه چاپ کرده ایم. همچنین با روش مشابهی و این بار با متد دیگری به نام reverse این متن را به سادگی به صورت وارونه چاپ کرده ایم. از آنجا که همه چیز در زبان ruby متشکل از اشیاء می باشند، متغیرها در این زبان برنامه نویسی نیز شیء می باشند. شما به سادگی و صرفاً با قرار دادن یک دات (.) بعد از نام شیء و سپس ذکر نام متد مربوطه می توانید کارکرد آن را فراخوانی کنید. توجه داشته باشید که متدها در واقع یک سری رویه های از پیش کد نویسی شده هستند که شما با این کار در واقع آن رویه ها را فراخوانی می کنید و منجر به اجرای کدهای داخل بدنۀ آن رویه ها می شوید.

string1 = "You can learn free in KhoshAmooz."
puts string1.length
puts string1.reverse

خروجی برنامۀ بالا به شکل زیر می باشد.

33
.zoomAhsohK ni eerf nrael nac uoY

اگر مایلید که در ارتباط با شیء گرایی بیشتر بدانید و دانشتان در این حوزه را عمق ببخشید، می توانید به کمک آموزش شی گرایی در طراحی و پیاده سازی زبان های برنامه سازی به این مهم نائل شوید.


البته متدهای فراوانی در اشیاء مختلف زبان ruby وجود دارند که پرداختن به همۀ آن ها در این آموزش زبان ruby میسر نیست. با این حال به عنوان نمونه یک سری از متدهای دیگر را همراه با توضیحاتی اجمالی در ادامه می بینید.

متد upcase یک رشته را به حروف بزرگ تبدیل می کند. متد downcase متضاد آن است و رشته را به حروف کوچک تبدیل می کند. یا گرامر \(\text{[0,3]}\) و قرار دادن آن بعد از یک رشته، بخش خاصی از آن متن که با صفر آغاز می شود و به طول سه کاراکتر می باشد از متن مربوطه استخراج می شود. عدد اول در این گرامر نشان دهندۀ محل آغاز و عدد دوم نشان دهندۀ طول رشته استخراجی می باشد. با گرامر \(\text{.include?('Saturday")}\) می توانیم بررسی کنیم که آیا متنی در داخل یک رشته موجود است یا خیر. خروجی این تابع مقدار بولی ترو یا فالس می باشد.

puts "This is some string".upcase
puts "This IS MORE StRing".downcase
puts "CatIsNotDog"[0,3]
puts "CatIsNotDog"[8,3]
puts "Today is Saturday".include?("Saturday")
puts "Today is Saturday".include?("Friday")
puts "Today is Sunday".index("day")
puts "1101".rjust(8, "0")
puts " Amir ".strip
puts "ruby programming".start_with? "ruby"
puts "ruby programming".end_with? "programming"

خروجی برنامه بالا را در ادامه می بینید.

THIS IS SOME STRING
this is more string
Cat
Dog
true
false
2
00001101
Amir
true
true

اگر می خواهید به طور خاص در ارتباط با روبی و به طور عام در ارتباط با برنامه نویسی بیشتر بدانید، مجموعه آموزش برنامه نویسی یک مرجع کامل را در اختیار شما می گذارد.



دیدگاه ها(0)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.

لطفا پیش از ارسال دیدگاه ، به نکات زیر توجه فرمایید :

- از نوشتن دیدگاه های غیر مرتبط با پست جدا خودداری کنید. دیدگاه ها و سوالات متفرقۀ خود را می توانید در تالارهای گفتمان خوش آموز مطرح نمایید.
- لطفاً دیدگاه های خود را با حروف فارسی تایپ کنید، دیدگاه های فینگیلیش تایید نمی شوند.
- قبل از ارسال دیدگاه حتما متن پست و نظرات سایر دوستان را بخوانید . نظرات اسپم و تکراری تایید نخواهند شد.
- نظر شما ممکن است بدون پاسخ تایید شوند که در این صورت باید منتظر پاسخ از سوی دیگر کاربران باشید .
- لطفا انتقادات و پیشنهادات و همچنین درخواست های خود را از طریق ایمیل khoshamoz[at].hotmail.com ارسال نمایید
- چرا آموزش های سایت خوش آموز در قالب فایل pdf به صورت یکجا ارائه نمی شوند؟
- چرا برخی پرسش های کاربران پاسخ داده نمی شوند؟

آموزش های رایگان خوش آموز