Download - Arulalan Ruby An Intro
![Page 2: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/2.jpg)
Ruby is a Programming Language
![Page 3: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/3.jpg)
There are so many
Programming Languages.
Why Ruby?
![Page 4: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/4.jpg)
![Page 5: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/5.jpg)
![Page 6: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/6.jpg)
Ruby is simple and beautiful
![Page 7: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/7.jpg)
Ruby is Easy to Learn
![Page 8: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/8.jpg)
Ruby is Free Open Source Software
![Page 9: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/9.jpg)
Ruby on Rails – Web Framework
![Page 10: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/10.jpg)
RAA● Ruby Application Archive● 1648 projects
● http://raa.ruby-lang.org
![Page 11: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/11.jpg)
Rubyforge● 5070 projects and libraries
● http://rubyforge.org/
![Page 12: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/12.jpg)
Can do● Text Handling● System Administration● GUI programming● Web Applications● Database Apps● Scientific Applications
● Games● NLP
● ...
![Page 13: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/13.jpg)
History
![Page 14: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/14.jpg)
RubyYukihiro “Matz” Matsumoto
JapanFebruary 24, 1993
![Page 15: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/15.jpg)
Perl Java Python Ruby PHP1987 1991 1993 1995
![Page 16: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/16.jpg)
What is Ruby?
![Page 17: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/17.jpg)
Ruby is…
A dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write.
![Page 18: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/18.jpg)
Quick and Easy● Intrepreted Scripting Language● Variable declarations are unnecessary● Variables are not typed● syntax is simple and consistent● memory management is automatic
![Page 19: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/19.jpg)
Object Oriented Programming● Everything is an object● classes, methods, inheritance, etc.● singleton methods● "mixin" functionality by module● iterators and closures
![Page 20: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/20.jpg)
Examples!
![Page 21: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/21.jpg)
5.times { print “Ruby! " }
![Page 22: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/22.jpg)
Ruby! Ruby! Ruby! Ruby! Ruby!
5.times { print “Ruby! " }
![Page 23: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/23.jpg)
Everything isan object
![Page 24: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/24.jpg)
100.next
![Page 25: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/25.jpg)
100.next101
![Page 26: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/26.jpg)
“I love Ruby” .reverse.capitalize
![Page 27: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/27.jpg)
“I love Ruby”
.reverse.capitalize
“Ybur evol i”
![Page 28: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/28.jpg)
3.hours.from_now
![Page 29: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/29.jpg)
3.hours.from_now
Thu Jan 19 22:05:00 Eastern Standard Time 2006
![Page 30: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/30.jpg)
Conventions
![Page 31: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/31.jpg)
Variables
colored_index_cards
![Page 32: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/32.jpg)
Class Names
Person
![Page 33: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/33.jpg)
Symbols
:street_name
![Page 34: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/34.jpg)
Instance Variables
@school_name
![Page 35: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/35.jpg)
Constants
Kilograms_Per_Pound
![Page 36: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/36.jpg)
Input
![Page 37: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/37.jpg)
puts “What is Your name?”
name = gets
name = name.chomp
puts "Hello" + name + " .Welcome"
![Page 38: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/38.jpg)
Flow
![Page 39: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/39.jpg)
if ( score >= 5000 ) puts “You win!”elsif ( score <= 0 ) puts “Game over.”else puts “Current score: #{score}”end
![Page 40: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/40.jpg)
puts “PASS” if mark > 35
![Page 41: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/41.jpg)
Loop
![Page 42: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/42.jpg)
count = 05.times docount += 1puts "Count =" + count.to_s
end
![Page 43: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/43.jpg)
Count = 1Count = 2Count = 3Count = 4Count = 5
![Page 44: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/44.jpg)
count = 0while count < 10puts "Count = " +count.to_scount += 1
end
![Page 45: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/45.jpg)
Blocks
![Page 46: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/46.jpg)
1.upto(5) { |x| puts x }
12345
![Page 47: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/47.jpg)
5.downto(1) do |time| print “#{time}... ” puts “!” if time <= 3end
5... 4... 3... !2... !1... !
![Page 48: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/48.jpg)
Array
![Page 49: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/49.jpg)
Arraynumbers = [ "zero", "one", "two", "three", "four" ]
![Page 50: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/50.jpg)
Arraynumbers = [ "zero", "one", "two", "three", "four" ]
>> numbers[0]
=> "zero"
>> numbers[4]
=> "four"
![Page 51: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/51.jpg)
Arraynumbers = [ "zero", "one", "two", "three", "four" ]
>> numbers[3].upcase
=> "THREE"
>> numbers[3].reverse
=> "eerht"
![Page 52: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/52.jpg)
Sort Arrayprimes = [ 11, 5, 7, 2, 13, 3 ]
![Page 53: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/53.jpg)
Sort Arrayprimes = [ 11, 5, 7, 2, 13, 3 ]
primes.sort
![Page 54: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/54.jpg)
Sort Arrayprimes = [ 11, 5, 7, 2, 13, 3 ]
primes.sort
=> [2, 3, 5, 7, 11, 13]
![Page 55: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/55.jpg)
Sort Arraynames = [ "Shrini", "Bala", "Suresh", "Arul"]
![Page 56: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/56.jpg)
Sort Arraynames = [ "Shrini", "Bala", "Suresh", "Arul"]
names.sort
![Page 57: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/57.jpg)
Sort Arraynames = [ "Shrini", "Bala", "Suresh", "Arul"]
names.sort
=>["Arul", "Bala", "Shrini", "Suresh"]
![Page 58: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/58.jpg)
Multi Type Arraynames = [ "Shrini", "Bala", "Suresh", "Arul", 1, 14, 45,
77, 98.3, 3.14 ]
![Page 59: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/59.jpg)
More on Arrays● Reverse● Length● Delete● Join● Find● More than 100 methods
![Page 60: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/60.jpg)
Hashes
![Page 61: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/61.jpg)
menu = { :idly => 2.50, :dosai => 10.00, :coffee => 5.00, :ice_cream => 5.00}
menu[:idly]2.50
![Page 62: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/62.jpg)
Methods
![Page 63: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/63.jpg)
Methods
def say_hello(name) result = “Hello, #{name}!” return resultend
puts say_hello(“world”)
![Page 64: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/64.jpg)
Methods
def say_hello(name) “Hello, #{name}!”end
puts say_hello(“world”)
![Page 65: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/65.jpg)
Class
![Page 66: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/66.jpg)
Classesclass MathWhiz
def say_square(value) puts value * value
end
end
sam = MathWhiz.new
sam.say_square(5)
![Page 67: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/67.jpg)
Inheritance
class Dog < Animal @catagory = “mammal” @legs = 4end
![Page 68: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/68.jpg)
Module
![Page 69: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/69.jpg)
Modules
module Trig PI = 3.141592654 def Trig.sin(x) # .. end def Trig.cos(x) # .. endend
![Page 70: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/70.jpg)
Modules
require "trig"y = Trig.sin(Trig::PI/4)0.707106780551956
![Page 71: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/71.jpg)
Attributes
class PlainOldRubyObject attr_accessor :food, :drinks attr_reader :advice attr_writer :write_onlyend
![Page 72: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/72.jpg)
Scopeclass Poet #public by default def poetry end
protected def family_legacy end
private def hopes_and_dreams endend
![Page 73: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/73.jpg)
THE ENDof code :-)
![Page 74: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/74.jpg)
How to Learn?
![Page 75: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/75.jpg)
irb● interactive ruby● A ruby Shellnce response● learn as you type
![Page 76: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/76.jpg)
![Page 77: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/77.jpg)
Web sites
Web Sites
![Page 78: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/78.jpg)
http://rubylang.org
www.rubylang.org
![Page 79: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/79.jpg)
www.rubyforge.net
![Page 80: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/80.jpg)
http://www.rubyforum.com/
![Page 81: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/81.jpg)
![Page 82: Arulalan Ruby An Intro](https://reader034.vdocuments.net/reader034/viewer/2022052505/5552bf11b4c90581158b463a/html5/thumbnails/82.jpg)