Ruby
Ruby
Multi-Paradigm:
Object-oriented
imperative
functional
reflective
Ruby
Yukihiro Matsumoto
"Matz"
Ruby
Influenced by:
Perl
Python
SmallTalk
Eiffel
Ruby
Influenced:
Swift
Groovy
Rust
Julia
D
Ruby
Ruby Interpreter
OS: Cross-platform
Filename extensions: .rb .rbw
Why Ruby?
It is Objected Oriented
Easy to read and learn
There is no ;
Huge community
How to install?
easy download and install file
https://www.ruby-lang.org/en/downloads/
How to use Ruby?
Single Command Line
Ruby File
IRB (Interactive Ruby Shell)
Ruby documentation
From website
http://www.ruby-doc.org/core
In Terminal
-> ri WHAT_YOU_WANT
Code Blocks
Short Block
Long/Complex Block
Class
Swift Ruby
Usage of class
Swift
Ruby
For Loop
For Loop
Iteration Loop
if/unless statement
case statement
Exception
Package Manager
Frame Work
Ruby On Rails
Test FrameWork
RSpec
Coolest Ruby Projects
Twitter BaseCamp Github
Shopify AirBnb SlideShare
Ruby Introduction

Ruby Introduction

Editor's Notes

  • #3 زبان روبی پارادایم‌های گوناگون برنامه‌نویسی از جمله برنامه‌نویسی تابعی، شیء گرا و بازتابی را پشتیبانی می‌کند، دارای گزاره‌ها و متغیرهای پویا و مدیریت حافظه خودکار است.
  • #4 زبان روبی رسماً در روز ۲۴ فوریه ۱۹۹۳ (۵ اسفند ۱۳۷۱) توسط یوکیهیرو ماتسوموتو معرفی شد. او دنبال ساخت زبانی بود که امکانات متعادلی برای برنامه‌نویسی تابعی و برنامه‌نویسی دستوری برای برنامه‌نویس فراهم آورد. ماتسوموتو دربارهٔ انگیزه‌اش برای ساخت روبی می‌گوید: «در جستجوی زبانی بودم که از پایتون شیءگراتر و از پرل قدرتمندتر باشد. برای همین تصمیم گرفتم خودم آن را بسازم». یوکیهیرو ماتسوموتو و همکارش دو نام «روبی» و «کورال» را برای این زبان جدید برگزیده بودند. از آنجاییکه نام کورال پیش از آن برای یکی از زبان‌های برنامه‌نویسی بریتانیایی انتخاب شده بود، نام «روبی» به عنوان نام نهایی برگزیده شد. ماتسوموتو گفته که یکی از دلایل انتخاب نام «روبی» این بود که یاقوت (به انگلیسی: Ruby) نشان ماه تولد یکی از همکاران وی بوده است.
  • #7 گونه‌های مختلفی از زبان روبی توسعه یافته‌اند که از میان آنها می‌توان به جی‌روبی، روبینوس، مک‌روبی، آیرن‌روبی و هات‌روبی ، ام روبی اشاره کرد. روبی دو پیاده‌سازی اصلی دارید: مفسر رسمی روبی که بیشتر مورد استفاده قرار می‌گیرد، و JRuby که یک پیاده‌سازی براساس جاوا است.
  • #9 amazing : ruby -v (in Mac terminal)
  • #10 ruby -e ‘puts 123’ ruby thefile.rb rib irb —simple-promt quit
  • #11 ri upcase ri String#upcase
  • #21 آرشیو برنامه‌های روبی (RAA) و همچنین RubyForge منابعی برای انواع مختلف برنامه‌ها و کتابخانه‌های نوشته شده با روبی هستند که حاوی بیش از دو هزار آیتم هستند. با اینکه تعداد برنامه‌های موجود قابل قیاس با تعداد برنامه‌های موجود در پرل و پایتون نیست، ولی طیف وسیعی از ابزارهای مختلف برای توسعه سریع روبی موجود است. RubyGems برنامه استاندارد مدیریت بسته‌ها برای کتابخانه‌های روبی است و بسیار شبیه به CPAN در پرل است، همچنین نحوه استفاده از آن بیشتر شبیه ابزار [apt-get] در لینوکس دبیان است. همچنین ، روبی انجمن های فعال و گسترده ای برای کمک به علاقه مندان به این زبان دارد. در ایران نیز انجمن IranOnRails فعال ترین انجمن فارسی زبان روبی و همچنین روبی آن ریلز است.
  • #22 یک چارچوب نرم‌افزاری تحت وب، آزاد و متن‌باز است که از زبان برنامه‌نویسی روبی استفاده می‌کند. هدف ریلز، ایجاد یک چارچوب نرم‌افزاری تحت وب، که از روش توسعه سریع برای برنامه‌نویسان وب استفاده می‌کند، است. روبی آن ریلز برگرفته از پروژهٔ بیس‌کمپ توسط دیوید هاینمیر هانسن بود که ابتدا یک ابزار مدیریت پروژه توسط شرکت 37signals (که حالا تبدیل به یک شرکت تولید نرم‌افزارهای وب شده است) بود. در ژوئیه سال ۲۰۰۴، هاینمیر هانسن ریلز را به عنوان یک نرم‌افزار آزاد و متن‌باز منتشر کرد اما تا فوریه سال ۲۰۰۵ حقوق انتشار آن را به اشتراک نگذاشت. در سال ۲۰۰۶، این چارچوب به مرحله‌ای رسید که شرکت اپل اعلام کرد که در سال ۲۰۰۷ روبی آن ریلز به عنوان یک چارچوب پیش‌فرض در سیستم‌عامل مک اواس نسخهٔ ۱۰٫۵ قرار خواهد گرفت.
  • #23 RSpec is a 'Domain Specific Language' (DSL) testing tool written in Ruby to test Ruby code. It is a behavior-driven development (BDD) framework which is extensively used in the production applications. The basic idea behind this concept is that of Test Driven Development(TDD) where the tests are written first and the development is based on writing just enough code that will fulfill those tests followed by refactoring.
  • #24 SoundCloud Groupon Boolmerg Zendesk Hulu