تخفیف نوروزی پی استور

کد تخفیف: PR1404

شامل تمامی آثار
روز
ساعت
دقیقه
ثانیه

با خرید اشتراک ویژه ، با هزینه بسیار کمتر به فایل های پاورپوینت دسترسی داشته باشید!

آموزش زبان ruby – چگونه با زبان ruby برنامه نویسی کنیم؟

آموزش زبان ruby - چگونه با زبان ruby برنامه نویسی کنیم؟
در این مقاله قصد داریم با آموزش زبان ruby در خدمت شما عزیزان باشیم. زبان‌های برنامه نویسی زیادی وجود دارد و هر زبان برنامه نویسی طرفداران مختص خود را دارد. در آموزش زبان ruby می‌خواهیم مفاهیم موجود در زبان برنامه نویسی ruby را بازگو کنیم. این آموزش برای شروع کار برنامه نویسی روبی بسیار مناسب است. ruby زبان برنامه نویسی متن باز و شی گرا است. این آموزش شامل نصب ruby، مثال، متغیر‌ها در ruby، ایجاد کلاس در ruby و بیان مفهوم OOPs می‌شود.

فهرست مطالب

ruby چیست؟

ruby زبان برنامه نویسی پویا و شی گرا و زبانی Open Ssource (متن باز) است. ruby شبیه زبان‌های برنامه نویسی perl و Smalltalk است که این زبان‌ها نیز شی گرا و پویا هستند. ruby در سیستم عامل‌های مختلف مانند Windows، Mac و Unix قابل اجرا می‌باشد. همه چیز در ruby به صورت شی است و هر کد ویژگی‌های خود را دارد.

آموزش زبان ruby - روبی چیست؟

ruby توسط Yukihiro “Martz” Matsumoto در ژاپن طراحی شد. Yukihiro “Martz” Matsumoto ruby می‌خواست زبان برنامه نویسی طراحی کند که کاملا شی گرا باشد و استفاده از آن برای کاربر آسان باشد. بنابراین او زبان برنامه نویسی را طراحی کرد و نام آن را ruby گذاشت و آن را توسعه داد.

در قوانین زبان جاوا برای نام گذاری متغیر‌ها از کاراکترهایی استفاده می‌شود که حروف انگلیسی و اعداد هستند و نام متغیر با عدد شروع نمی‌شود. همین قوانین در روبی نیز وجود دارد شاید کسانی که قبلاً جاوا کار کرده اند بهتر می‌توانند زبان Ruby را یاد بگیرند. برای دریافت آموزش زبان جاوا می‌توانید به لینک زیر مراجعه کنید:

ویژگی‌ های زبان ruby

در ادامه آموزش زبان ruby، به تشریح چند مورد از ویژگی‌های ruby می‌پردازیم:

  • Object Oriented: زبان برنامه نویسی ruby کاملا شی گرا است. هر مقدار یک شی است و هر شی دارای یک کلاس و هر کلاس دارای یک کلاس فوق العاده است. هر کد ویژگی خود را دارد.
  • Flexibility: زبان ruby یک زبان انعطاف پذیر است و شما می‌توانید موارد لازم را حذف، اضافه یا تغییر و تعریف کنید.
  • Dynamic typing and Duck typing: این زبان، زبان برنامه نویسی پویا است. کلاس‌ها، ماژول‌ها و تعریف‌های متد هنگام اجرا توسط کد ساخته می‌شوند. متغیرهای ruby زبانی با loosely typed یا تایپ آزاد هستند، به این معنی که هر متغیری می‌تواند هر نوع شی را در خود جای دهد و نیازی به اعلان ندارد. Ruby صرف نظر از نوع شی فقط به نام آن نگاه می کند. این عملکرد یک نوع Duck typing است. وقتی از Duck typing استفاده می‌کنید انواع را بررسی نمی‌کند و در عوض وجود یک ویژگی مشخص را بررسی می‌کند.
  • Variable constants: ثابت‌های متغیر در ruby واقعا ثابت نیستند. یعنی اگر یک constant اولیه در یک کد اصلاح شود، یک error به شما می‌دهد اما برنامه را متوقف نمی‌کند.
  • Keyword arguments: زبان برنامه نویسی ruby نیز می‌تواند مانند زبان پایتون، با آرگومان‌های کلمه کلیدی تعریف شود.
  • Method names: در زبان ruby متدهایی که به سوالات پاسخ می‌دهند به علامت (؟) و متدهایی که وضعیت شی را تغییر می‌دهد به  علامت ( ! ) ختم می‌شوند.
  • Keywords: در زبان ruby تقریبا ۴۲ کلمه کلیدی وجود دارد که از آن‌ها برای اهداف دیگر نمی‌توان استفاده کرد. به این کلمه‌ها، کلمات رزرو شده می‌گویند.

ویژگی زبان ruby

مراحل نصب ruby

در این بخش از آموزش زبان ruby به مرحله نصب این زبان برنامه‌نویسی می‌رسیم: ruby در سیستم عامل‌های مختلف به طور متفاوت نصب می‌شود.

  • در سیستم عامل unix از package manager سیستم استفاده کنید.
  • در سیستم عامل windows از RubyInstaller استفاده می‌شود.
  • در سیستم OSX، از ابزارهای rbenv و RVM استفاده کنید.

در ادامه مطلب، زبان ruby را در لینوکس با استفاده از package manager نصب خواهیم کرد.

  1. انتخاب سیستم package management برای نصب.
  2.  در سیستم عامل Debian GNU ، Ubuntu و لینوکس از apt package manager استفاده میشود.از کد زیر استفاده کنید:
sudo apt-get install ruby-full

۳. برای اطمینان از نصب نسخه ruby در سیستم خود از دستور زیر استفاده کنید:

ruby -v

نصب ruby

نحوه نوشتن یک برنامه ساده در ruby

در این مبحث از آموزش زبان ruby یک برنامه ساده از ruby را کدنویسی می‌کنیم. قبل از نوشتن برنامه مطمئن شوید که ruby را در سیستم خود نصب کردید.

۱. پیش نیاز برنامه Hello Ruby

قبل از نوشتن یک برنامه ساده (مانند Hello ruby) به زبان برنامه نویسی ruby لازم است که ابتدا مراحل زیر را طی کنید:

  1. ruby را دانلود و نصب کنید.
  2.  یک فایل با پسوند rb ایجاد کنید.
  3. Ruby path را به فایل وصل کنید.
  4.  در نهایت فایل را ایجاد کند.

۲. ایجاد برنامه Hello Ruby

در ابتدا از ویراشگر متن استفاده کنید و یک فایل به نام hello.rb ایجاد کرده و کد زیر را بنویسید.

puts "Hello Ruby !"

Ruby path را به فایل بالا وصل کنید. چون فایل hello.rb را در دسکتاپ ایجاد کردیم بنابراین ابتدا باید دایرکتوری دسکتاپ را از طریق console خود وارد کنیم.

نصب ruby

دستور زیر را اجرا کنید:

ruby hello.rb

در نهایت خروجی برنامه HELLO Ruby اینگونه خواهد بود.

خروجی برنامه

متغیر‌ها در Ruby

در آموزش زبان ruby به بحث متغیر‌ها می‌رسیم. متغیر‌ها در ruby داده‌ها را برای استفاده در برنامه نگه می‌دارند. نام هر متغیر متفاوت است. این متغیرها را بر اساس برخی قراردادها نام‌گذاری می‌کنند. در زبان‌های برنامه نویسی باید متغیر را تعریف کنند اما در زبان برنامه نویسی ruby نیازی نست متعیر تعریف شود و  یک پیشوند برای نشان دادن آن کافی است.

آموزش زبان ruby

چهار نوع متغیر در ruby وجود دارد:

  • Local variables متغیر محلی
  • Class variables متغیر کلاس
  • Instance variables متغیر نمونه
  • Globale variables متغیر جهانی

۱. متغیر های محلی Local variables

نام Local variables با یک زیرخط (_) شروع می‌شود که در بلوک اولیه است. پس از تکمیل بلوک کد، متغیر هیچ محدوده ای ندارد. هنگامی که Local variables به صورت نامشخص فراخوانی می‌شوند، آنها به عنوان متدی تفسیر می شوند که هیچ آرگومانی ندارند.

۲. متغیر های کلاس Class variables

نام Class variables با علامت @@ شروع می‌شود. قبل از استفاده از متغیر کلاس باید آن را مقداردهی اولیه کرد. متغیر کلاس متعلق به کل کلاس می‌باشد. Class variables از هر جایی در کلاس قابل دسترسی می‌باشد. اگر مقدار متغیر کلاس در یک کد تغییر کند، در هر نمونه تغییر خواهد کرد. یک متغیر کلاس در ruby بدون مقداردهی با خطا مواجه می‌شود.

مثال برای Class variables

#!/usr/bin/ruby   
  
class States   
   @@no_of_states=0   
   def initialize(name)   
      @states_name=name   
      @@no_of_states += 1   
   end   
   def display()   
     puts "State name #@state_name"   
    end   
    def total_no_of_states()   
       puts "Total number of states written: #@@no_of_states"   
    end   
end   
  
# Create Objects   
first=States.new("Assam")   
second=States.new("Meghalaya")   
third=States.new("Maharashtra")   
fourth=States.new("Pondicherry")   
  
# Call Methods   
first.total_no_of_states()   
second.total_no_of_states()   
third.total_no_of_states()   
fourth.total_no_of_states()

در مثال بالا no_of_states@@ یک متغیر کلاس است.

sssit@Java Tpoint:~/Desktop$ ruby hello.rb
Total number of states written:4
Total number of states written:4
Total number of states written:4
Total number of states written:4
sssit@Java Tpoint:~/Desktop$

۳. متغیر های نمونه Instance variables

Instance variables با علامت @ شروع می‌شود. به یک نمونه از کلاس متعلق است و از هر نمونه‌ای در کلاس در یک متد قابل دسترسی است. متغیر نمونه دسترسی محدودی به یک نمونه خاص از یک کلاس دارند. Instance variables نیازی به مقداردهی اولیه ندارد. Instance variables اولیه مقدارش صفر خواهد بود.

#!/usr/bin/ruby   
  
class States   
   def initialize(name)   
      @states_name=name   
   end   
   def display()   
      puts "States name #@states_name"   
    end   
end   
  
# Create Objects   
first=States.new("Assam")   
second=States.new("Meghalaya")   
third=States.new("Maharashtra")   
fourth=States.new("Pondicherry")   
  
# Call Methods   
first.display()   
second.display()   
third.display()   
fourth.display()

در مثال بالا، states_name@ در مثال بالا، Instance variables یا همان متغیر نمونه است.

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

sssit@JavaTpoint:~/Desktop$ ruby hello.rb
States name Assam
States name Meghalaya
States name Maharashtra
States name Pondicherry
sssit@JavaTpoint:~/Desktop$

۴. متغیر های سراسری Global variables

نام Global variables با علامت $ شروع می‌شود و دامنه آن جهانی است. یعنی در هر جایی از برنامه می‌توان به آن دسترسی داشت. متغیر جهانی بدون مقدار اولیه صفر می‌شود. تعدادی Global variables از پیش تعریف شده در ruby وجود دارد.

مثال برای Global variables:

#!/usr/bin/ruby   
  
$global_var = "GLOBAL"   
class One   
  def display   
     puts "Global variable in One is #$global_var"   
  end   
end   
class Two   
  def display   
     puts "Global variable in Two is #$global_var"   
  end   
end   
  
oneobj = One.new   
oneobj.display   
twoobj = Two.new   
twoobj.display

در مثال بالا، states_name@ متغیر نمونه است.

خروجی برنامه به این شکل خواهد بود:

sssit@JavaTpoint:~/Desktop$ ruby hello.rb
Global variable in one is GLOBAL
Global variable in TWO is GLOBAL
sssit@JavaTpoint:~/Desktop$

مفاهیم شی گرایی در ruby

ruby یک زبان کاملا شی گرا است. همه چیز در روبی یک شی است. همه اعداد، رشته ها یا حتی کلاس‌ها یک شی هستند. کل زبان ruby براساس مفاهیم شی و داده ساخته شده است. OOPs یک مفهوم برنامه نویسی است که برنامه نویسان از آن برای طراحی برنامه‌های کاربردی و برنامه‌های کامپیوتری استفاده می‌کند.

در ادامه به برخی از مفاهیم اساسی در OOPs اشاره خواهیم کرد:

  • Encapsulation کپسوله سازی
  • Polymorphism پولی مورفیسم
  • Inheritance وراٍثت
  • Abstraction انتزاع_ مفهوم_ برداشت

Encapsulation: این مفهوم جزئیات پیاده سازی یک کلاس را از اشیاء دیگر پنهان می‌کند. هدف اصلی Encapsulation محافظت از داده ها در برابر دستکاری داده‌ها است.

Polymorphism: در این مفهوم قابلیت نمایش یک اپراتور و عملکرد آن به روش‌های مختلف را برای داده‌های مختلف نشان می‌دهد.

Inheritance: Inheritance با استفاده از کلاس‌های از پیش تعریف شده، کلاس‌های جدیدی ایجاد می‌کند. کلاس جدید رفتار کلاس parent خود را به ارث می‌برد که به نام superclass معرفی می‌شود. به این ترتیب، کلاس‌های از پیش تعریف شده می‌توانند قابل استفاده مجدد و مفیدتر  از قبل باشند.

Abstraction: پیچیدگی یک کلاس را با استفاده از  مدل‌سازی کلاسی که متناسب با مسئله پنهان می‌کند.

نحوه ایجاد کلاس در ruby

در ادامه آموزش زبان ruby به مبحث کلاس در ruby می‌رسیم. کلاس ruby طرح اولیه یک نوع داده را تعریف می‌کند. معنی آن نام کلاس را مشخص می‌کند. یک کلاس با کلمه کلیدی Class و به دنبال آن Class name تعریف می‌شود و با کلمه کلیدی end به پایان می‌رسد. در کلاس زبان ruby، نام کلاس با حروف بزرگ شروع می‌شود. نام کلاس را با بیش از یک کلمه در کنار حروف بزرگ و بدون نویسه جدا کننده اجرا می‌شود.

با نوشتن کد زیر یک کلاس جاوا ایجاد می‌شود:

class Greeter

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

sssit@JavaTpoint:~$ irb
irb(main):001:0> class Java
irb(main):002:1> def initialize(name = "world")
irb(main):003:2> @name = name
irb(main):004:2> end
irb(main):005:1> def say_welcom
irb(main):006:2> puts "welcom #{@name}!"
irb(main):007:2> end
irb(main):008:1> def say_bye
irb(main):009:2> puts "Bye # #{@name}, see you soon."
irb(main):010:2> end
irb(main):011:1> end
=> nil

یک کلاس جدید جاوا ایجاد می شود. name@ یک متغیر نمونه است که برای همه متدهای کلاس جاوا در دسترس است. توسط say_welcome و say_bye استفاده می‌شود.

انواع متد ها در Ruby

در آموزش زبان ruby به انواع متد‌ها می‌رسیم. متد‌ها توابعی هستند که در داخل ساختار یک کلاس تعریف می‌شوند. داده ها در ruby از طریق Methods قابل دسترسی هستند. وقتی که یک متد فراخوانی می‌شود، مسیری دنبال می‌شود که ruby در آن جستجو می‌کند. برای پیدا کردن زنجیره جستجوی Methods می توانیم از روش ancestors استفاده کنیم.

متد در ruby

تعریف متد در Ruby

متدی با کلمه کلیدی def تعریف می‌شود و با کلمه کلیدی end پایان می‌یابد. ما نام متدی را تعریف می‌کنیم که خروجی زیر را نمایش می‌دهد:

sssit@JavaTpoint:~$ irb
irb(main):001:0> def name
irb(main):002:1> puts "My name is Anna!"
irb(main):003:1> end
=> nil
irb(main):004:0> name
My name is Anna!
=> nil
irb(main):005:0>

کلمه کلیدی def تعریف نام متد را شروع می‌کند. سپس ساختار متد را می‌نویسیم. انتهای خط آخر نشان می‌دهد که متد تعریف شده است.

متد های Instance

متد‌های instance هم با کلمه کلیدی def تعریف شده است و فقط با یک نمونه کلاس قابل استفاده است.

مثال برای متدهای instance

#!/usr/bin/ruby -w   
  
# define a class   
class Circle   
   # constructor method   
   def initialize(r)   
      @radius = r   
   end   
   # instance method   
   def getArea   
      ۳.۱۴ * @radius * @radius   
   end   
end   
  
# create an object   
circle = Circle.new(2)   
  
# call instance methods   
a = circle.getArea()   
puts "Area of the box is : #{a}"

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

sssit@JavaTpoint:~/desktop$ ruby hello.rb
Area of the box is : 12.56
sssit@JavaTpoint:~/desktop$

وراثت در Ruby

در وراثت کلاس‌های جدید را با استفاده از کلاس‌هایی که از پیش تعریف شده است ایجاد می‌کنیم. کلاس‌هایی که جدید ایجاد شده‌اند، کلاس‌های مشتق شده و کلاس‌هایی که از آنها مشتق شده‌اند، کلاس‌های پایه می‌گویند. با وراثت، یک کد می‌تواند دوباره استفاده شود که باعث می‌شود پیچیدگی در برنامه کاهش یابد.

ruby از چندین سطح وراثت پشتیبانی نمی‌کند. به جای آن از mixins پشتیبانی می‌کند. در Ruby از کاراکتر < برای ایجاد یک زیر کلاس استفاده می‌کنند. نحوه ایجاد در زیر نشان داده شده است:

parentClass < subClass

مثال برای Ruby Inheritance (وراثت در ruby)

#!/usr/bin/ruby   
  
class Parent   
  
    def initialize   
        puts "Parent class created"   
    end   
end   
  
class Child < Parent   
  
   def initialize   
       super   
       puts "Child class created"   
   end   
end   
  
Parent.new   
Child.new

در برنامه‌ای که در بالا نوشته شده است دو کلاس ایجاد شده است. یکی از آن‌ها کلاس Parent و دیگری کلاس Child که هردو مشتق شده است. متد super سازنده کلاس Parent را فراخوانی می‌کند.

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

sssit@JavaTpoint:~$ cd Desktop/
sssit@JavaTpoint:~/Desktop$ ruby hello.rb
parent class created
parent class created
child  class created
sssit@JavaTpoint:~$ cd Desktop$

اگر دقت کنید در خروجی اول کلاس Parent ایجاد می‌شود، سپس کلاس Child مشتق شده نیز سازنده کلاس parent خود را فراخوانی می‌کند و پس از آن کلاس Child ایجاد می‌شود. نکات گفته شده فقط بخشی از اصول پایه‌ای برای آموزش زبان ruby بودند و برای یادگیری بیشتر آن بهتر است از فیلم‌های آموزشی فرادرس مانند لینک زیر استفاده کنید:

سخن آخر درباره آموزش زبان ruby

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

ruby را با زبان‌های دیگری مثل پایتون و perl مقایسه می‌کنند. همانطور که گفتیم هر زبان برنامه نویسی طرفدار خود را دارد و با مطالعه و کد نویسی زبان برنامه نویسی ruby شاید آن را به زبان برنامه نویسی دیگر ترجیح دهید و علاقمند بشوید.

در آموزش زبان ruby به تشریح ویژگی‌های آن پرداختیم. نصب ruby در لینوکس، همراه با برنامه Hello ruby آموزش داده شد، مفهوم OOPs را بیان کردیم و در نهایت متدها را در ruby به همراه مثال بازگو کردیم.

پس از آموزش کامل این زبان می توانید فایل های کدنویسی خودتان را با سیستم کسب درآمد پی استور به فروش برسانید و از این طریق کسب درآمد کنید. بعد از مطالعه‌ی این پست، نظرات و پیشنهادات خود را با ما در میان بگذارید. موفق و سربلند باشید.

یک پاسخ

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *