دانلود و نصب بر روی ویندوز
مراحل نصب زبان برنامه نویسی روبی بر روی سیستم عامل ویندوز در اینجا بیان شده است .
نصب روبی با نرم افزار RubyInstaller
بهترین راه برای نصب زبان برنامه نویسی روبی بر روی ویندوز استفاده از نرم افزار RubyInstaller است که می توانید آخرین نسخه آن را دانلود و نصب کنید .
بسته نرم افزار RubyInstaller همه پیکربندی های لازم برای نصب زبان برنامه نویسی روبی را انجام خواهد داد .
دانلودRuby installer
اگر هدف شما از نصب زبان برنامه نویسی روبی ، استفاده از روبی بر ریل است ، بهتر است از بسته های زیر استفاده کنید .
•بسته نرم افزار RailsInstaller که از RubyInstaller استفاده می کند اما ابزارهای دیگری که برای ریل مورد نیاز است را نیز نصب می کند و از ویندوز و مک اواس ایکس پشتیبانی می کند .
•بسته نرم افزار Bitnami Ruby Stack که محیط کامل توسعه ریل را در خود دارد و از ویندوز ، لینوکس و او اس ایکس پشتیبانی میکند .
نصب روبی از پکیج اصلی
اما اگر می خواهید خودتان زبان برنامه نویسی روبی را نصب کنید.
فایل زیپ آخرین نسخه زبان برنامه نویسی روبی را با استفاده از این لینک دانلود نرم افزار برنامه نویسی روبی بگیرید .
پس از دانلود آرشیو روبی ، آن را باز نموده و به دایرکتوری تازه ایجاد شده بروید.
بر روی فایل Ruby x.y.z.exe دوبار کلیک کنید . ویزارد نصب زبان برنامه نویسی روبی آغاز می شود .
بر روی Next کلیک کرده تا به صفحه اطلاعات مهم ویزارد برسید و تا نصب کامل زبان برنامه نویسی روبی ، ادامه دهید .
اگر نصب شما متغیرهای محیطی را بطور مناسب پیکربندی نکرده باشد ، ممکن است به برخی از آن ها نیاز داشته باشید .
اگر از ویندوز ۹x استفاده می کنید ، خطوط زیر را به فایل c:\autoexec.bat اضافه کنید
set PATH="D:\(ruby install directory)\bin;%PATH%"
کاربران ویندوز NT/2000 و نسخه های جدیدتر باید رجیستری های خود را اصلاح نمایند .
برای این منظور ، بر روی Control Panel > System Properties > Environment Variables کلیک نمایید .
در زیر گزینه متغیرهای سیستم System Variables ، گزینه Path را انتخاب نموده و بر روی EDIT کلیک کنید .
دایرکتوری زبان برنامه نویسی روبی خود را به انتهای لیست Variable Value افزوده و بر روی OK کلیک نمایید .
در زیر گزینه System Variables ، گزینه PATHEXT را انتخاب نموده و بر روی EDIT کلیک کنید .
سپس .rb و .rbw را به لیست Variable Value افزوده و بر روی OK کلیک نمایید .
پس از نصب ، با نوشتن دستور زیر در خط فرمان اطمینان حاصل نمایید که همه چیز بدرستی کار می کند .
> ruby -v
ruby 1.8.7اگر همه چیز صحیح باشد ، نسخه مفسر زبان برنامه نویسی روبی نصب شده باید بصورت بالا نشان داده شود .
ممکن است نسخه متفاوتی را نصب کرده باشید ، در نتیجه ، نسخه متفاوتی نمایش داده خواهد شد .
دستور BEGIN و END
دستور BEGIN در زبان برنامه نویسی روبی
شکل دستور
BEGIN {
code
}
مجموعه کدهایی را مشخص میکند که قبل از شروع برنامه باید اجرا شوند .
مثال:
#!/usr/bin/ruby
puts "This is main Ruby Program"
BEGIN {
puts "Initializing Ruby Program"
}
این کد نتیجه زیر را در پی خواهد داشت .
Initializing Ruby Program
This is main Ruby Program
دستور END در زبان برنامه نویسی Ruby
شکل دستور
END {
code
}
مجموعه کدهایی را مشخص میکند که بعد از پایان برنامه باید اجرا شوند .
مثال:
#!/usr/bin/ruby
puts "This is main Ruby Program"
END {
puts "Terminating Ruby Program"
}
BEGIN {
puts "Initializing Ruby Program"
}
این کد نتیجه زیر را در پی خواهد داشت .
Initializing Ruby Program
This is main Ruby Program
Terminating Ruby Program
ساختار
فاصله خالی در زبان برنامه نویسی روبی
کاراکترهای فاصله ی سفید مانند فاصله ها ( space ) و تب ( tab ) به طور کلی در کد زبان برنامه نویسی Ruby نادیده گرفته می شوند ، مگر زمانی که در رشته ها ظاهر شوند .
a + b is interpreted as a+b ( Here a is a local variable)
a +b is interpreted as a(+b) ( Here a is a method call)
کارکتر انتهای خط در زبان برنامه نویسی روبی
زبان برنامه نویسی Ruby ، کاراکترهای نقطه – ویرگول ؛ و سطر جدید را به عنوان پای ان یک عبارت تفسیر می کند .
باوجود این ، اگر زبان برنامه نویسی روبی با عملگرهایی مانند + ، – ، یا بک اسلش ( backslash ) در انتهای یک سطر مواجه شود ، آن ها را به معنای ادامه داشتن عبارت در نظر می گیرد .
شناسه ها در زبان برنامه نویسی Ruby
شناسه ها ، اسامی متغیرها ، ثابت ها و توابع می باشند .
شناسه های زبان برنامه نویسی روبی نسبت به بزرگ یا کوچک بودن حروف ، حساس هستند . این بدین معنی است که Ram و RAM دو شناسه مختلف در زبان برنامه نویسی Ruby می باشند .
شناسه ها در زبان برنامه نویسی روبی شامل حروف کوچک و بزرگ اعداد و زیرخط می باشند .
توضیحات در زبان برنامه نویسی روبی
توضیحات زبان برنامه نویسی Ruby با یک کاراکتر پوند / شارپ # آغاز شده و تا انتهای سطر ( EOL ) ادامه می یابد .
# I am a comment. Just ignore me.
و یا
name = “Madisetti” # This is again comment
خط فرمان و متغیرهای محیطی
گزینه های خط فرمان زبان برنامه نویسی روبی
این فصل ، تمام گزینه های خط فرمان زبان برنامه نویسی Ruby را که می توانید همراه با مفسر زبان برنامه نویسی روبی از آن استفاده نمایید ، فهرست می کند .
مفسر زبان برنامه نویسی Ruby به طور کلی به روش زیر از خط فرمان اجرا می گردد.
$ ruby [ options ] [.] [ programfile ] [ arguments ... ]
مفسر زبان برنامه نویسی روبی می تواند با هر یک از گزینه های زیر مورد استفاده قرار گیرد تا محیط و رفتار آن را کنترل نماید .
Option | Description |
-a | Used with -n or -p to split each line. Check -n and -p options. |
-c | Checks syntax only, without executing program. |
-C dir | Changes directory before executing (equivalent to -X). |
-d | Enables debug mode (equivalent to -debug). |
-F pat | Specifies pat as the default separator pattern ($;) used by split. |
-e prog | Specifies prog as the program from the command line. Specify multiple -e options for multiline programs. |
-h | Displays an overview of command-line options. |
-i [ext] | Overwrites the file contents with program output. The original file is saved with the extension ext. If ext isn’t specified, the original file is deleted. |
-I dir | Adds dir as the directory for loading libraries. |
-K [kcode] | Specifies the multibyte character set code (e or E for EUC (extended Unix code); s or S for SJIS (Shift-JIS); u or U for UTF-8; and a, A, n, or N for ASCII). |
-l | Enables automatic line-end processing. Chops a newline from input lines and appends a newline to output lines. |
-n | Places code within an input loop (as in while gets; … end). |
-۰ [octal] | Sets default record separator ($/) as an octal. Defaults to \0 if octal not specified. |
-p | Places code within an input loop. Writes $_ for each iteration. |
-r lib | Uses require to load lib as a library before executing. |
-s | Interprets any arguments between the program name and filename arguments fitting the pattern -xxx as a switch and defines the corresponding variable. |
-T [level] | Sets the level for tainting checks (1 if level not specified). |
-v | Displays version and enables verbose mode |
-w | Enables verbose mode. If programfile not specified, reads from STDIN. |
-x [dir] | Strips text before #!ruby line. Changes directory to dir before executing if dir is specified. |
-X di | Changes directory before executing (equivalent to -C). |
-y | Enables parser debug mode. |
–copyright | Displays copyright notice |
–debug | Enables debug mode (equivalent to -d). |
–help | Displays an overview of command-line options (equivalent to -h). |
–version | Displays version. |
–verbose | Enables verbose mode (equivalent to -v). Sets $VERBOSE to true. |
–yydebug | Enables parser debug mode (equivalent to -y). |
عبارت های الگودار
عبارت های الگودار یک توالی خاص از کارکترهاست که با یک الگو کمک میکند یک رشته یا یک دسته از رشته های به فرم مشخص را پیدا کنیم.
ساختار
یک عبارت الگودار، الگویی است که بین دو علامت اسلش و یا بعد از کاراکترهای %r بین و بین دو علامت دلخواه قرار می گیرد. به فرم زیر:
/pattern/
/pattern/im # option can be specified
%r!/usr/local! # general delimited regular expression
مثال:
#!/usr/bin/ruby
line1 = "Cats are smarter than dogs";
line2 = "Dogs also like meat";
if ( line1 =~ /Cats(.*)/ )
puts "Line1 contains Cats"
end
if ( line2 =~ /Cats(.*)/ )
puts "Line2 contains Cats"
end
این مثال خروجی زیر را تولید خواهد کرد:
Line1 contains Cats
تغییر دهنده ها
عبارتهای الگودار ممکن است تغییر دهنده های مختلفی داشته باشند که ابعاد مختلف انطباق را تغییر می دهند.تغییر دهنده ها بعد از دومین اسلش قرار میگیرند. فهرست برخی از آن ها در جدول زیر آمده است.

الگوهای مختلف
بغیر از کاراکترهای کنترلی (+ ? . * ^ $ ( ) [ ] { } | \) همه دیگر کاراکترها بر خودشان انطباق می یابند.شما می توانید با یک بک اسلش رفتار یک کاراکتر کنترلی را به مانند کاراکترهای عادی تغییر دهید.فهرست زیر ساختار عبارتهای الگودار قابل استفاده در زبان برنامه نویسی روبی را نشان می دهد.

کلمات کلیدی
فهرست زیر ، کلمات کلیدی در زبان برنامه نویسی روبی را نشان می دهد .
این کلمات کلیدی نباید به عنوان اسامی ثابت یا متغیر در برنامه شما مورد استفاده قرار گیرند .
| do | next | then |
END | else | nil | true |
alias | elsif | not | undif |
and | end | or | unless |
begin | unsure | redo | until |
break | false | rescue | when |
case | for | retry | while |
class | if | return | while |
def | in | self | _FILE_ |
defined? | module | super | _LINE_ |
نصب بر روی لینوکس و یونیکس
در اینجا ، مراحل نصب زبان برنامه نویسی Ruby بر روی سیستم عامل لینوکس و یونیکس بیان شده است
هشدار: قبل از ادامه ، مطمئن شوید root هستید یا جزو گروه sudoers می باشید .
فایل زیپ آخرین نسخه روبی را با استفاده از این لینک دانلود نرم افزار برنامه نویسی روبی بگیرید .
پس از دانلود نرم افزار برنامه نویسی روبی ، آرشیو آن را باز نموده و به دایرکتوری تازه ایجاد شده بروید.
$ tar -xvzf ruby-x.y.z.tar.gz
$ cd ruby-x.y.z
بجای x و y و z اعدادی مربوط به نسخه ای که شما دانلود کرده اید قرار میگیرند.
حال ، سورس کد را به شرح زیر ، پیکربندی و کامپایل نمایید.
$ ./configure
$ make
در نهایت ، مفسر زبان برنامه نویسی روبی را به شرح زیر نصب کنید.
$ su -l root # become a root user
$ make install
$ exit # become the original user again
پس از نصب ، با نوشتن دستور زیر در خط فرمان اطمینان حاصل نمایید که همه چیز بدرستی کار می کند .
$ ruby -v
ruby 1.8.7 (2011-06-30 patchlevel 352) [i686-linux]
اگر همه چیز صحیح باشد ، نسخه مفسر زبان برنامه نویسی Ruby نصب شده باید بصورت بالا نشان داده شود .
ممکن است نسخه متفاوتی را نصب کرده باشید ، در نتیجه ، نسخه متفاوتی نمایش داده خواهد شد .
در نسخه اوبونتو Ubuntu لینوکس برای نصب زبان برنامه نویسی روبی کافی است دستور زیر را اجرا کنید .
$ sudo apt-get install ruby
اگر از لینوکس توزیع RedHat یا SUSE استفاده می کنید استفاده از ابزار yum ساده ترین روش نصب روبی یا هر RPM دیگر می باشد .
دستور زیر را در خط فرمان خود تایپ نمایید ؛ خواهید دید که زبان برنامه نویسی روبی بر روی کامپیوتر شما نصب می شود .
$ yum install ruby
نمادهای بک اسلش
فهرستی از نمادهای بک اسلش ( backslash ) که توسط زبان برنامه نویسی Ruby پشتیبانی می شوند ، در زیر ارائه شده است.
character represented | notation |
(Newline (OxOa | n\ |
(Carriage return (OxOd | r\ |
(Formfeed (OxOc | f\ |
(Backspace (OxO8 | b\ |
(Bell (OxO7 | a\ |
(Scape (Ox1b | e\ |
(Space (Ox20 | s\ |
(Octal notation (n being 0-7 | nnn\ |
(Hexadecimal notation (n being 0-9,a-f,or A-F | xnn\ |
(Control-x ) | cx ,\C-x\ |
(Meta-x (c | 0x80 | M-x\ |
(Meta-Control-x (c | 0x80 | C-x ,\M-\ |
(Character x ) | x\ |
هش ها
هش در زبان برنامه نویسی روبی با قرار دادن لیستی از جفت های کلید/مقدار key=>value در بین آکولاد ، همراه با یک ویرگول بین هر جفت ایجاد می شود . ویرگول انتهایی نادیده گرفته می شود .
مثال:
#!/usr/bin/ruby
hsh = colors = { "red" => 0xf00, "green" => 0x0f0 }
hsh.each do |key, value|
print key, " is ", value, "\n"
end
این باعث حصول نتیجه ی زیر خواهد شد.
green is 240
red is 3840
همانند آرایه ها روش های مختلفی برای ایجاد هش وجود دارد . یک هش را می توان با استفاده از متد new به شکل زیر ایجاد کرد .
months = Hash.new
شما می توانید در هنگام ایجاد هش یک مقدار پیشفرض نیز بجای nil به آن انتساب دهید .
months = Hash.new( "month" )
or
months = Hash.new "month"
اگر کلیدی در هش را تقاضا کنید که وجود نداشته باشد ، مقدار nil یا مقدار پیشفرض برگردانده خواهد شد .
#!/usr/bin/ruby
months = Hash.new( "month" )
puts "#{months[0]}"
puts "#{months[72]}"
این باعث حصول نتیجه ی زیر خواهد شد
month
month
و مثال دیگر:
#!/usr/bin/ruby
H = Hash["a" => 100, "b" => 200]
puts "#{H['a']}"
puts "#{H['b']}"
این باعث حصول نتیجه ی زیر خواهد شد
۱۰۰
۲۰۰
شما می توانید از هر شی زبان برنامه نویسی Ruby به عنوان کلید یا مقدار استفاده کنید بنابراین تعریف زیر معتبر خواهد بود .
[۱,"jan"] => "January"
ورودی و خروجی فایل
متد File.new
شما می توانید یک شی از نوع File را با استفاده از متد File.new برای خواندن، نوشتن و یا هردو استفاده کنید.
و در نهایت با استفاده از متد File.close فایل را خواهید بست.
aFile = File.new("filename", "mode")
# ... process the file
aFile.close
متد File.open
از متد File.open نیز می توانید برای خواندن و نوشتن بر روی یک فایل استفاده کنید.
اما اختلاف آن با File.new در این است که می توانید از File.open در یک بلاک کد استفاده کنید در حالی که از File.new نمی توان به این صورت استفاده کرد.
File.open("filename", "mode") do |aFile|
# ... process the file
end
در اینجا، فهرستی از حالت های مختلف باز کردن یک فایل ارائه شده است.

خواندن و نوشتن فایل
همه متد هایی که برای ورودی خروجی استاندارد وجود داشت برای ورودی و خروجی فایل نیز وجود دارد.
به این ترتیب همانگونه که gets برای خواندن از ورودی استاندارد بکار رفت aFile.gets نیز برای ورودی از فایل بکار می رود.
اما در فایلها یک سری دستورات ویژه ورودی خروجی فایل نیز وجود دارند که کار را راحت تر میکنند.
متد sysread
از متد sysread برای خواندن یک فایل می توان استفاده کرد
اگر خط زیر محتوای یک فایل متنی باشد:
This is a simple text file for testing purpose.
با استفاده از sysread فایل را به شکل زیر می خوانیم:
#!/usr/bin/ruby
aFile = File.new("input.txt", "r")
if aFile
content = aFile.sysread(20)
puts content
else
puts "Unable to open file!"
end
این دستور ۲۰ کاراکتر اول فایل را می خواند و اشاره گر فایل را در محل ۲۱ امین کاراکتر قرار می دهد.
متد syswrite
با استفاده از متد syswrite میتوانید اطلاعات را در داخل یک فایل بریزید:
#!/usr/bin/ruby
aFile = File.new("input.txt", "r+")
if aFile
aFile.syswrite("ABCDEF")
else
puts "Unable to open file!"
end
این کد کاراکترهای ABCDEF را در فایل می نویسد.
ویرایشگرهای رایج
برای نوشتن برنامه های Ruby خود ، به یک ویرایشگر نیاز دارید .
در این قسمت ویرایشگرهای رایج زبان برنامه نویسی روبی را معرفی میکنیم:
- اگر بر روی سیستم عامل ویندوز کار می کنید ، می توانید از تمام ویرایشگرهای ساده متنی مانند Notepad++ یا Edit plus استفاده نمایید .
- ادیتور VIM ، ویرایشگر بسیار ساده متنی است که تقریبا بر روی تمام سیستم عامل های یونیکس و در حال حاضر ویندوز ، در دسترس می باشد .
- همچنین ، می توانید از ویرایشگر مورد علاقه vi خود برای نوشتن برنامه های زبان برنامه نویسی روبی استفاده نمایید .
- نرم افزار RubyWin نیز یک محیط توسعه یکپارچه زبان برنامه نویسی روبی ( IDE ) برای ویندوز می باشد .
- محیط توسعه روبی ( RDE ) نیز یک IDE بسیار خوب دیگر برای کاربران ویندوز می باشد .
روبی تعاملی IRb چیست ؟
روبی تعاملی ( IRb ) ، خط فرمانی را برای آزمایش فراهم می آورد .
شما می توانید نتایج عبارات را بلافاصله در داخل خط فرمان IRb بصورت خط به خط مشاهده نمایید .
این ابزار همراه با نصب زبان برنامه نویسی روبی راه اندازی می شود ، بنابراین برای راه اندازی IRb نیاز به کار اضافه ای نیست .
تنها irb را در خط فرمان خود تایپ نمایید تا نشست روبی تعاملی آغاز گردد .
$irb
irb 0.6.1(99/09/16)
irb(main):001:0> def hello
irb(main):002:1> out = "Hello World"
irb(main):003:1> puts out
irb(main):004:1> end
nil
irb(main):005:0> hello
Hello World
nil
irb(main):006:0>
ورودی و خروجی
ورودی و خروجی در زبان برنامه نویسی روبی روشهای مختلفی را فراهم می کند.
کلاس IO همه متد های پایه مانند read و write و gets و puts و readline و getc و printf را فراهم آورده است.
دستور puts
دستور puts به مفسر زبان برنامه نویسی روبی فرمان می دهد مقادیر یک متغیر را در خروجی چاپ کند.
در این هنگام یک کاراکتر سطر جدید نیز چاپ خواهد شد.
مثال:
#!/usr/bin/ruby
val1 = "This is variable one"
val2 = "This is variable two"
puts val1
puts val2
این خروجی زیر را تولید خواهد کرد:
This is variable one
This is variable two
دستور gets
دستور gets برای گرفتن داده های ورودی از ورودی استاندارد STDIN استفاده می شود.
مثال:
#!/usr/bin/ruby
puts "Enter a value :"
val = gets
puts val
این خروجی زیر را تولید خواهد کرد:
Enter a value :
This is entered value
This is entered value
دستور putc
برخلاف دستور puts که کل یک رشته را در خروجی چاپ می کند. دستور putc هر بار یک کاراکتر را چاپ خواهد کرد.
مثال:
#!/usr/bin/ruby
str="Hello Ruby!"
putc str
این خروجی زیر را تولید خواهد کرد:
H
دستور print
دستور print مشابه دستور puts می باشد، با این اختلاف که دستور print کاراکتر خط جدید را در انتها اضافه نخواهد کرد.
مثال:
#!/usr/bin/ruby
print "Hello World"
print "Good Morning"
این خروجی زیر را تولید خواهد کرد:
Hello WorldGood Morning