تخطي إلى المحتوى

لا يمكن تحويل هذا النوع من الملفات في المتصفح.

┐─ تحليل الملف ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
المطور : Yukihiro Matsumoto
الفئة : شفرة
نوع MIME : text/x-ruby
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

ما هو ملف RB؟

ملفات .rb تحتوي على شفرة مصدرية بلغة Ruby، لغة برمجة ديناميكية مفسَّرة أنشأها Yukihiro “Matz” Matsumoto وأصدرها عام 1995. صُممت Ruby بفلسفة “مبدأ الدهشة الأقل” (Principle of Least Astonishment) — يجب أن تتصرف اللغة بالطريقة التي يتوقعها المبرمج.

في Ruby، كل شيء كائن — الأعداد والنصوص والقيم المنطقية والـ nil كلها كائنات لها دوال. تدعم البرمجة الكائنية والوظيفية والإجرائية، وتشتهر بتعبيريتها العالية وإنتاجيتها. إطار Ruby on Rails (2004) أحدث ثورة في تطوير الويب وجعل Ruby مشهورةً عالمياً.

كيفية فتح ملفات RB

  • VS Code مع إضافة Ruby LSP (ويندوز، ماك، لينكس) — IntelliSense واكتشاف الأخطاء
  • RubyMine (ويندوز، ماك، لينكس) — IDE متكامل من JetBrains
  • مفسر Rubyruby script.rb لتنفيذ مباشر
  • irb (Interactive Ruby) — بيئة Ruby تفاعلية مدمجة
  • أي محرر نصوص — ملفات RB نص عادي

المواصفات التقنية

الخاصيةالقيمة
نظام الأنواعديناميكي، قوي، مكشوف (Duck Typing)
النموذجكائني التوجه بالكامل
المفسراتCRuby/MRI (الرسمية)، JRuby (على JVM)، TruffleRuby
مدير الحزمRubyGems (gem)
إدارة التبعياتBundler (Gemfile)
إدارة الإصداراتrbenv أو RVM

الاستخدامات الشائعة

  • تطوير الويب مع Rails: GitHub وShopify وAirbnb وGitLab بُنيت على Ruby on Rails
  • البرمجة النصية وأتمتة المهام: Ruby قوية للسكريبتات بفضل مكتباتها الوفيرة
  • DevOps: Chef وVagrant وFastlane مكتوبة بـ Ruby
  • اختبار البرمجيات: RSpec وCucumber لاختبار بـ Ruby بصياغة قريبة من اللغة الطبيعية
  • معالجة البيانات: Nokogiri لتحليل HTML/XML، إضافة إلى ملفات CSV والنصوص

مثال برنامج Ruby

# مثال: تطبيق ويب بسيط مع Sinatra
require 'sinatra'
require 'json'

# قاعدة بيانات في الذاكرة
users = []

get '/users' do
  content_type :json
  users.to_json
end

post '/users' do
  content_type :json
  data = JSON.parse(request.body.read)
  user = { id: users.length + 1, name: data['name'] }
  users << user
  status 201
  user.to_json
end

Ruby في سطر الأوامر

# تشغيل سكريبت
ruby script.rb

# سطر واحد (one-liner)
ruby -e 'puts "مرحبا بالعالم!"'

# معالجة ملف نصي
ruby -pe 'gsub(/hello/, "مرحبا")' input.txt

# تثبيت حزمة
gem install rails

# تشغيل اختبارات RSpec
bundle exec rspec

Ruby on Rails بسرعة

# إنشاء تطبيق Rails جديد
rails new myapp --database=postgresql

# إنشاء موارد تلقائياً (scaffold)
rails generate scaffold Article title:string body:text

# تشغيل التطبيق
rails server