Ruby چیست؟ آموزش کامل و جامع Ruby

Ruby چیست؟

Ruby یک زبان برنامه‌نویسی سطح بالا، پویا و شی‌گرا است که توسط یوکیهیرو ماتسوموتو طراحی و پیاده‌سازی شده است. این زبان با تمرکز بر برنامه‌نویسی شی‌گرا و سادگی، محبوبیت زیادی در توسعه وب و اتوماسیون پیدا کرده است.

Ruby با فلسفه “اصل کمترین تعجب” طراحی شده و با سینتکس خوانا و انعطاف‌پذیر خود شناخته می‌شود.
مثال ساده Ruby

# برنامه ساده Ruby
class Greeting
  def initialize(name)
    @name = name
  end
  
  def say_hello
    puts "سلام #{@name}!"
  end
end

greeting = Greeting.new("دنیا")
greeting.say_hello  # خروجی: سلام دنیا!

تاریخچه Ruby

Ruby در سال ۱۹۹۵ توسط یوکیهیرو ماتسوموتو (معروف به Matz) در ژاپن ایجاد شد. هدف او ایجاد زبانی بود که قدرت برنامه‌نویسی شی‌گرا را با سادگی و لذت برنامه‌نویسی ترکیب کند.

Ruby با الهام از زبان‌های Perl، Smalltalk، Eiffel، Ada و Lisp ساخته شده و در سال ۲۰۰۵ با معرفی Ruby on Rails محبوبیت جهانی پیدا کرد.

ساختار پایه Ruby

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

ساختار پایه Ruby
#!/usr/bin/env ruby

# تعریف یک کلاس
class Person
  # متغیر کلاس
  @@count = 0
  
  # متد initialize (سازنده)
  def initialize(name)
    @name = name
    @@count += 1
  end
  
  # متد instance
  def say_name
    puts "من #{@name} هستم!"
  end
  
  # متد کلاس
  def self.count
    @@count
  end
end

# استفاده از کلاس
person = Person.new("علی")
person.say_name
puts Person.count

ویژگی‌های اصلی Ruby

۱. همه چیز شی است

در Ruby، همه چیز یک شی است – حتی اعداد و کلاس‌ها. این ویژگی باعث یکپارچگی و سازگاری در برنامه‌نویسی می‌شود.

۲. انعطاف‌پذیری

Ruby اجازه می‌دهد کلاس‌های موجود را تغییر دهید و متدهای جدید اضافه کنید.

مثال Monkey Patching
class String
  def reverse_and_upcase
    self.reverse.upcase
  end
end

puts "ruby".reverse_and_upcase  # خروجی: YBUR

شی‌گرایی در Ruby

Ruby یک زبان کاملاً شی‌گرا است که در آن همه چیز یک شی محسوب می‌شود. درک مفاهیم شی‌گرایی در Ruby بسیار مهم است.

کلاس‌ها و اشیاء

مثال کلاس و شی در Ruby
class Animal
  def initialize(name, species)
    @name = name
    @species = species
  end
  
  def introduce
    puts "من یک #{@species} به نام #{@name} هستم"
  end
end

# ایجاد شی جدید
cat = Animal.new("پیشی", "گربه")
cat.introduce  # خروجی: من یک گربه به نام پیشی هستم

وراثت

مثال وراثت در Ruby
class Pet < Animal
  def play
    puts "#{@name} در حال بازی کردن است"
  end
end
Ruby از وراثت چندگانه پشتیبانی نمی‌کند، اما می‌توانید از ماژول‌ها (Modules) برای اجرای میکسین‌ها استفاده کنید.

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

Ruby انواع مختلفی از متغیرها و داده‌ها را پشتیبانی می‌کند:

انواع متغیرها در Ruby
# متغیرهای محلی
name = "علی"

# متغیرهای نمونه
@age = 25

# متغیرهای کلاس
@@count = 0

# متغیرهای سراسری
$config = { debug: true }

# ثابت‌ها
MAXIMUM_USERS = 100

انواع داده اصلی

انواع داده در Ruby
# اعداد
number = 42          # Integer
float = 3.14        # Float

# رشته‌ها
string = "سلام"
interpolated = "عدد: #{number}"

# آرایه‌ها
array = [1, 2, 3, 4, 5]

# هش‌ها
hash = { name: "علی", age: 25 }

# نمادها
status = :active

متدها در Ruby

متدها در Ruby بسیار انعطاف‌پذیر هستند و می‌توانند به روش‌های مختلفی تعریف و استفاده شوند.

تعریف و استفاده از متدها
# متد ساده
def greet(name)
  puts "سلام #{name}!"
end

# متد با مقدار پیش‌فرض
def calculate_price(amount, discount = 0)
  amount - (amount * discount)
end

# متد با تعداد نامشخص پارامتر
def sum(*numbers)
  numbers.reduce(0, :+)
end

# متد با بلوک
def repeat_twice
  yield
  yield
end
در Ruby، آخرین خط هر متد به طور خودکار به عنوان مقدار بازگشتی در نظر گرفته می‌شود. استفاده از return اختیاری است.

بلوک‌ها و پراک‌ها

بلوک‌ها و پراک‌ها از ویژگی‌های قدرتمند Ruby هستند که امکان برنامه‌نویسی تابعی را فراهم می‌کنند.

مثال‌های بلوک و پراک
# بلوک با do...end
[1, 2, 3].each do |number|
  puts number * 2
end

# بلوک با آکولاد
[1, 2, 3].map { |n| n * 2 }

# پراک
square = Proc.new { |x| x * x }
numbers.map(&square)

# لامبدا
multiply = ->(x, y) { x * y }

کتابخانه‌ها (Gems) در Ruby

Gem‌ها پکیج‌های Ruby هستند که می‌توانند کد، مستندات و فایل‌های پیکربندی را شامل شوند.

مدیریت Gem‌ها
# نصب یک gem
gem install rails

# در Gemfile
source 'https://rubygems.org'

gem 'rails', '~> 7.0.0'
gem 'pg'
gem 'puma'
برای مدیریت بهتر وابستگی‌ها، از Bundler استفاده کنید.

فریم‌ورک‌های محبوب Ruby

Ruby on Rails

محبوب‌ترین فریم‌ورک وب Ruby که از معماری MVC پیروی می‌کند. مناسب برای ساخت اپلیکیشن‌های وب مقیاس‌پذیر است.

Sinatra

یک فریم‌ورک سبک و ساده برای ساخت اپلیکیشن‌های وب و API‌ها.

برای یادگیری Rails، راهنمای رسمی Ruby on Rails منبع خوبی است.

ابزارهای مفید برای کار با Ruby

برای توسعه بهتر با Ruby، ابزارهای مفید زیر را در نظر بگیرید:

محیط‌های توسعه

- RubyMine
- Visual Studio Code با افزونه Ruby
- Sublime Text با پکیج‌های Ruby

ابزارهای تست

- RSpec
- Minitest
- Capybara

ابزارهای مدیریت نسخه Ruby

- RVM
- rbenv
- asdf

استفاده از این ابزارها می‌تواند بهره‌وری شما را در توسعه Ruby افزایش دهد.

کلمات کلیدی:

Ruby برنامه‌نویسی Ruby Ruby on Rails زبان برنامه‌نویسی شی‌گرایی Gem توسعه وب برنامه‌نویسی شی‌گرا

جمع‌بندی:

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

Leave a Reply

Your email address will not be published. Required fields are marked *