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

کد تخفیف: PR1404

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

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

آموزش ruby — از مقدماتی تا پیشرفته

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

فهرست مطالب

مقدمه

ruby یک زبان برنامه‌نویسی تفسیری سطح بالا، همه منظوره و شیء‌گرا است که از نمونه‌های مختلف برنامه‌نویسی پشتیبانی می‌کند. منظور از این جمله این است که روبی از نمونه‌های مبتنی بر روال”procedure” یا مبتنی بر تابع “function” یا شیءگرا “OOB” پشتیبانی می‌کند. این زبان برنامه‌نویسی بر پایه بهره‌وری بیشتر و سادگی ساخته شده است. در ruby همه چیز یک شیء هست حتی انواع داده‌ها که متغیر‌ها را از نوع آن‌ها تعریف می‌کنیم نیز شیء هستند بنابراین روبی یک زبان برنامه‌نویسی شیءگرای کامل می‌باشد.

این زبان برنامه‌نویسی در اواسط سال ۱۹۹۳ توسط آقای “Yukihiro Matz Matsumoto” که با نام Matz در ژاپن شناخته می‌شود توسعه یافت. طبق نظر توسعه‌دهنده زبان روبی، این زبان درواقع از زبان‌های basic، Ada، Smalltalk، Perl، Lisp تاثیر گرفته است همچنین Syntax زبان روبی خیلی شبیه perl و python است. روبی در بین سال‌های ۱۹۹۶ تاکنون در نسخه‌های مختلف از ۱ تا ۳ انتشار یافته است و بر روی پلتفرم‌های مختلفی مانند ویندوز، سیستم عامل مک و نسخه‌های مختلف یونیکس اجرا می‌شود.

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

شروع کار با ruby

برای این که مثال‌های بکار رفته در این آموزش را بر روی کامپیوتر خود اجرا کنید به کامپیوتر Intel Core i3 یا i5 با حداقل ۲ الی ۴ گیگابایت رم (مطمئنا ۴ گیگابایت انتخاب بهتری خواهد بود) نیاز خواهید داشت. برای شروع کار لازم است موارد زیر موجود باشند:

  • سیستم عامل لینوکس یا ویندوز
  • وب سرور آپاچی
  • مرورگر مناسب
  • فایل نصبی ruby

نصب ruby در ویندوز

برای این کار از یکی از سایت‌های معتبر یا سایت خود روبی، فایل zip آن را دانلود کرده و بعد از Extract با کلیک بر روی فایل rubyinstaller آن را نصب می‌کنیم. منتظر می‌شویم تا مراحل نصب طی شود و عملیات نصب تمام شود. احتمالاً اگر از خود سایت روبی اقدام کنید آسان‌تر خواهد بود. در مرحله دوم بعد از قبول کردن قوانین، صفحه‌ای باز می‌شود که دو گزینه در آن تیک خورده است دقت کنید که گزینه add ruby executables to your path حتما تیک خورده باشد تا بعدا مجبور نباشید آن را به‌طور دستی در قسمت path ویندوز وارد کنید. باز هم next را ادامه می‌دهیم و install شروع می‌شود.

بعد از نصب به‌طور جداگانه در cmd از شما می‌خواهد نصب دو مورد زیر را با وارد کردن عدد ۱ و در مرحله دوم عدد ۳ انجام دهید.

مرحله اول نصب در آموزش Ruby

و بعد از نصب گزینه ۱ نصب گزینه ۳ را از شما می‌خواهد توجه داشته باشید که گزینه ۲ انتخابی است. اگر هم مطمئن نیستید که کدام گزینه را انتخاب کنید کلید enter را بزنید.

آموزش Ruby مرحله دوم نصب

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

C:\Users\NP>ruby -v

خروجی به‌صورت زیر خواهد بود.

ruby 3.1.1p18 (2022-02-18 revision 53f5fc4236) [x64-mingw-ucrt]

اگر قادر به کامپایل Ruby خود نیستید می توانید از مدیر بسته سیستم (Package Management Systems) برای نصب Ruby استفاده کنید. البته بعضی‌ها نصب این بسته را توصیه نمی‌کنند چراکه ممکن است نسخه قدیمی ruby را نصب کند. برای آموزش بهتر هر زبان برنامه نویسی می‌توانید از مجموعه آموزش برنامه‌نویسی فرادرس استفاده کنید.

نصب Windows Package Manager

برای این کار در cmd دستور زیر را تایپ کنید.

winget install Ruby

خروجی به صورت زیر خواهد بود.

C:\Users\NP>winget install Ruby
The "msstore source" requires that you view the following agreements before using.
Terms of Transaction: https://aka.ms/microsoft-store-terms-of-transaction
The source requires the current machine's 2-letter geographic region to be sent to the backend service to function properly (ex. "US").

Do you "agree" to all the source agreements terms?
[Y] Yes  [N] No: y
Multiple packages found matching input criteria. Please refine the input.
Name                                   Id                     Source
---------------------------------------------------------------------
Ruby On Rails-simpleNeasyApp by WAGmob 9WZDNCRDN7Q9           msstore
Ruby                                   RubyInstallerTeam.Ruby winget

C:\Users\NP>

همچنین در ویندوز، می‌توانید از Chocolatey Package Manager برای نصب Ruby استفاده کنید:

choco install ruby

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

  • SciTE که با نصب روبی نصب خواهد شد.
  • E Text Editor
  • Sublime Text
  • RubyMine

که ما در این آموزش ruby از ویرایشگر sublime text استفاده می‌کنیم. تصویر زیر محیط این editor را نشان می‌دهد. به عنوان نمونه، می‌خواهیم “Hello World” را در خروجی چاپ کنیم. فایلی را در مسیر مشخصی با پسوند rb.ذخیره می‌کنیم.

دستور چاپ hello world در ruby

C:\Users\NP\Desktop>testنام برنامه
hello world

دستورات Ruby

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

۱- دستورات ورودی و خروجی در ruby

در ruby برای دریافت ورودی از gets و برای چاپ از دستور puts استفاده می‌کنیم.

val1 = "This is one"
val2 = "This is two"
puts val1
puts val2

خروجی کد بالا بصورت زیر است:

This is one
This is two

دستور gets برای گرفتن هر ورودی از کاربر از صفحه استانداردی به نام STDIN استفاده می‌شود.

puts "Enter a value :"
val = gets
puts val

خروجی بصورت زیر می‌باشد:

Enter a value :
This is 4    #عدد ۴ وارد شده بود
This is 5    # عدد ۵ وارد شده بود

۲- تعریف متغیر در ruby

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

الف) متغیرهای سراسری (Global Variables)

متغیرهای سراسری با $ شروع می شوند. متغیرهای سراسرس اولیه دارای مقدار Null هستند و با گزینه w- اخطار ایجاد می کنند. در ادامه مثالی در جهت آشنایی با این متغیرها نشان داده شده است.

$variable = 10
puts "the value is #$variable"

خروجی برنامه بصورت زیر است:

C:\Users\NP\Desktop>test .rb
the value is 10

مثال واضح‌تر برای فهم بیشتر استفاده این نوع متغیر در کد زیر آورده شده است دقت کنید دو کلاس تعریف شده و داخل هرکدام تابعی نوشته شده است که هر دو تابع از دو کلاس متفاوت، می‌توانند به محتوای متغیر به دلیل global بودن آن دسترسی داشته باشند و چاپ کنند.

$global_variable = 15
class Class1
   def print_global
      puts "Variable in Class1 is #$global_variable"
   end
end
class Class2
   def print_global
      puts "Global variable in Class2 is #$global_variable"
   end
end

class1obj = Class1.new
class1obj.print_global
class2obj = Class2.new
class2obj.print_global

خروجی بصورت زیر خواهد بود:

Variable in Class1 is 15
Variable in Class2 is 15

برای تعریف متغیر سراسری از علامت $ قبل از آن استفاده کردیم همچنین توجه داشته باشید که در Ruby، با قرار دادن یک کاراکتر (#) درست قبل از آن متغیر یا ثابت، می‌توانید به مقدار هر متغیر یا ثابتی دسترسی پیدا کنید.

ب) متغیرهای instance در روبی

برای تعریف این نوع متغیرها از علامت @ در ابتدای متغیر استفاده می‌کنیم.

class Customer
   def initialize(id, name, addr)
      @cust_id = id
      @cust_name = name
      @cust_addr = addr
   end
   def display_details()
      puts "Customer id #@cust_id"
      puts "Customer name #@cust_name"
      puts "Customer address #@cust_addr"
   end
end

# Create Objects
cust1 = Customer.new("1", "Ali", "tabriz, elgoli")
cust2 = Customer.new("2", "pooya", "tehran, valiasr")

# Call Methods
cust1.display_details()
cust2.display_details()

خروجی برنامه بصورت زیر است:

Customer id 1
Customer name Ali
Customer address tabriz, elgli
Customer id 2
Customer name pooya
Customer address tehran, valiasr

ج) متغیرهای محلی

متغیرهای محلی با یک حرف کوچک یا _ شروع می‌شوند و دامنه آنها از ابتدای ” { ” یک کلاس، ماژول، def یا do تا انتهای” } ” می‌باشد.

د) متغیرهای ثابت

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

class Example
   VAR1 = 300
   VAR2 = 400
   def show
      puts "First Value is #{VAR1}"
      puts "Second Value is #{VAR2}"
   end
end

# Create Objects
object = Example.new()
object.show

و خروجی کد نوشته شده بصورت زیر است:

First Value is 300
Second Value is 400

۳- تعریف آرایه در ruby

آرایه در ruby با علامت [ ] تعریف می شود. برای مثال می توانید نمونه زیر را در نظر بگیرید:

ary = [  "farid", 11, 3.14, "This is a string", "last one", ]
ary.each do |i|
   puts i
end
farid
۱۱
۳.۱۴
This is a string
last one




۴- دستور شرطی if و elsif

ساختارهای شرطی ارائه شده در روبی در زبان‌های مدرن بسیار رایج است در این بخش از آموزش ruby دستور if و مشتقات آن را یاد خواهیم گرفت.

if conditional [then]
   code...
[elsif conditional [then]
   code...]...
[else
   code...]
end
x = 1
if x > 2
   puts "x is greater than 2"
elsif x <= 2 and x!=0
   puts "x is 1"
else
   puts "I can't guess the number"
end

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

x is 1

۵- دستور unless

x = 1 
unless x>=2
   puts "x is less than 2"
 else
   puts "x is greater than 2"
end

خروجی دستور بالا به‌صورت زیر است:

x is less than 2

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

۶- حلقه‌های تکرار در ruby

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

الف) حلقه for

شکل کلی حلقه For در ruby بدین شکل است:

for VARIABLE in DATA_STRUCTURE 
 STATEMENT
end

خوب حالا اجازه بدهید در ادامه آموزش ruby مثالی برای حلقه for بزنیم به تکه کد زیر توجه کنید.

for i in 0..6
   puts "local variable Value is #{i}"
end

در کد بالا محدوده ۰..۶ را را برای i تعریف کرده‌ایم. دستور for i in 0..6 اجازه می‌دهد تا i مقادیری را در محدوده ۰ تا ۶ (شامل ۶ نیز هست) به خود اختصاص دهد و در ادامه تک تک اعداد را به همراه جمله‌ای چاپ کند. خروجی دستور به شکل زیر است:

Value of local variable is 0
local variable Value is 1
local variable Value is 2
local variable Value is 3
local variable Value is 4
local variable Value is 5
local variable Value is 6

ب) حلقه for…in

حلقه for…in تقریباً دقیقاً معادل حلقه for ای است که در بالا توضیح داده شد، با این تفاوت که یک حلقه for، محدوده جدیدی برای متغیرهای محلی ایجاد نمی کند. عبارت حلقه for یعنی مثال پایین، با کلمه رزرو شده do، یک خط جدید یا یک نقطه ویرگول از کد جدا می‌شود. شکل کلی این حلقه به شکل زیر است:

(expression).each do |variable[, variable...]| code end

به عنوان مثال:

(۰..۶).each do |i|
   puts "local variable Value is #{i}"
end

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

Value of local variable is 0
local variable Value is 1
local variable Value is 2
local variable Value is 3
local variable Value is 4
local variable Value is 5
local variable Value is 6

ج) حلقه while

شکل کلی دستور به شکل زیر است اجرای عبارت داخل end … while تا زمان برقراری شرط ادامه خواهد داشت.

while conditional [do]
   code
end

در ادامه به مثالی از حلقه while توجه کنید.

$i = 0
$num = 5

while $i < $num  do
   puts("number of loop i = #$i" )
   $i +=1
end

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

number of loop i = 0
number of loop i = 1
number of loop i = 2
number of loop i = 3
number of loop i = 4

د) حلقه تکرار until

این حلقه تا زمانی که شرط برقرار شود ادامه دارد به محض برقراری شرط از حلقه خارج می‌شود به مثال زیر توجه کنید.

$i = 0
$num = 7

until $i > $num  do
   puts("number of loop i = #$i" )
   $i +=1;
end

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

number of loop i = 0
number of loop i = 1
number of loop i = 2
number of loop i = 3
number of loop i = 4
number of loop i = 5
number of loop i = 6
number of loop i = 7

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

سخن آخر در مورد آموزش ruby

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

2 پاسخ

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

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