arulalan ruby an intro

82
Ruby – An Introduction T.Arulalan [email protected] II Year, M.C.A, Saveetha Enginnering College, Chennai – 602 105

Upload: arulalan-t

Post on 13-May-2015

995 views

Category:

Education


1 download

DESCRIPTION

Ruby an introduction. It is 100% OOP Language. And it is very beautiful language.I Love Ruby Very Much. I hope "YOU" too

TRANSCRIPT

Page 1: Arulalan  Ruby An Intro

Ruby – An [email protected]

II Year, M.C.A,Saveetha Enginnering College,Chennai – 602 105

Page 2: Arulalan  Ruby An Intro

Ruby is a Programming Language

Page 3: Arulalan  Ruby An Intro

There are so many 

Programming Languages.

Why Ruby?

Page 4: Arulalan  Ruby An Intro
Page 5: Arulalan  Ruby An Intro
Page 6: Arulalan  Ruby An Intro

Ruby is simple and beautiful

Page 7: Arulalan  Ruby An Intro

Ruby is Easy to Learn

Page 8: Arulalan  Ruby An Intro

Ruby is Free Open Source Software

Page 9: Arulalan  Ruby An Intro

Ruby on Rails – Web Framework

Page 10: Arulalan  Ruby An Intro

RAA● Ruby Application Archive● 1648 projects

● http://raa.ruby-lang.org

Page 11: Arulalan  Ruby An Intro

Rubyforge● 5070 projects and libraries

● http://rubyforge.org/

Page 12: Arulalan  Ruby An Intro

Can do● Text Handling● System Administration● GUI programming● Web Applications● Database Apps● Scientific Applications

● Games● NLP

● ...

Page 13: Arulalan  Ruby An Intro

History

Page 14: Arulalan  Ruby An Intro

RubyYukihiro “Matz” Matsumoto

JapanFebruary 24, 1993

Page 15: Arulalan  Ruby An Intro

 Perl  Java  Python  Ruby  PHP1987       1991         1993  1995

Page 16: Arulalan  Ruby An Intro

        What is Ruby?

Page 17: Arulalan  Ruby An Intro

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

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

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

Examples!

Page 21: Arulalan  Ruby An Intro

5.times { print “Ruby! " }

Page 22: Arulalan  Ruby An Intro

Ruby! Ruby! Ruby! Ruby! Ruby!

5.times { print “Ruby! " }

Page 23: Arulalan  Ruby An Intro

Everything isan object

Page 24: Arulalan  Ruby An Intro

100.next

Page 25: Arulalan  Ruby An Intro

100.next101

Page 26: Arulalan  Ruby An Intro

“I love Ruby” .reverse.capitalize

Page 27: Arulalan  Ruby An Intro

“I love Ruby”

.reverse.capitalize

“Ybur evol i”

Page 28: Arulalan  Ruby An Intro

3.hours.from_now

Page 29: Arulalan  Ruby An Intro

3.hours.from_now

Thu Jan 19 22:05:00 Eastern Standard Time 2006

Page 30: Arulalan  Ruby An Intro

Conventions

Page 31: Arulalan  Ruby An Intro

Variables

colored_index_cards

Page 32: Arulalan  Ruby An Intro

Class Names

Person

Page 33: Arulalan  Ruby An Intro

Symbols

:street_name

Page 34: Arulalan  Ruby An Intro

Instance Variables

@school_name

Page 35: Arulalan  Ruby An Intro

Constants

Kilograms_Per_Pound

Page 36: Arulalan  Ruby An Intro

Input

Page 37: Arulalan  Ruby An Intro

puts “What is Your name?”

name = gets

name = name.chomp

puts "Hello" + name + " .Welcome"

Page 38: Arulalan  Ruby An Intro

            Flow

Page 39: Arulalan  Ruby An Intro

if ( score >= 5000 ) puts “You win!”elsif ( score <= 0 ) puts “Game over.”else puts “Current score: #{score}”end

Page 40: Arulalan  Ruby An Intro

puts “PASS” if mark > 35

Page 41: Arulalan  Ruby An Intro

                    Loop

Page 42: Arulalan  Ruby An Intro

count = 05.times docount += 1puts "Count =" + count.to_s

end

Page 43: Arulalan  Ruby An Intro

Count = 1Count = 2Count = 3Count = 4Count = 5

Page 44: Arulalan  Ruby An Intro

count = 0while count < 10puts "Count = " +count.to_scount += 1

end

Page 45: Arulalan  Ruby An Intro

Blocks

Page 46: Arulalan  Ruby An Intro

1.upto(5) { |x| puts x }

12345

Page 47: Arulalan  Ruby An Intro

5.downto(1) do |time| print “#{time}... ” puts “!” if time <= 3end

5... 4... 3... !2... !1... !

Page 48: Arulalan  Ruby An Intro

Array

Page 49: Arulalan  Ruby An Intro

Arraynumbers = [ "zero", "one", "two", "three", "four" ]  

Page 50: Arulalan  Ruby An Intro

Arraynumbers = [ "zero", "one", "two", "three", "four" ]  

>> numbers[0]

=> "zero"

>> numbers[4]

=> "four"

Page 51: Arulalan  Ruby An Intro

Arraynumbers = [ "zero", "one", "two", "three", "four" ]

>> numbers[3].upcase

=> "THREE"

>> numbers[3].reverse

=> "eerht"

Page 52: Arulalan  Ruby An Intro

Sort Arrayprimes = [ 11, 5, 7, 2, 13, 3 ]

Page 53: Arulalan  Ruby An Intro

Sort Arrayprimes = [ 11, 5, 7, 2, 13, 3 ]

primes.sort

Page 54: Arulalan  Ruby An Intro

Sort Arrayprimes = [ 11, 5, 7, 2, 13, 3 ]

primes.sort

=> [2, 3, 5, 7, 11, 13]

Page 55: Arulalan  Ruby An Intro

Sort Arraynames = [ "Shrini", "Bala", "Suresh", "Arul"]

Page 56: Arulalan  Ruby An Intro

Sort Arraynames = [ "Shrini", "Bala", "Suresh", "Arul"]

names.sort

Page 57: Arulalan  Ruby An Intro

Sort Arraynames = [ "Shrini", "Bala", "Suresh", "Arul"]

names.sort

=>["Arul", "Bala", "Shrini", "Suresh"]

Page 58: Arulalan  Ruby An Intro

Multi Type Arraynames = [ "Shrini", "Bala", "Suresh", "Arul", 1, 14, 45,

77, 98.3, 3.14 ]

Page 59: Arulalan  Ruby An Intro

More on Arrays● Reverse● Length● Delete● Join● Find● More than 100 methods

Page 60: Arulalan  Ruby An Intro

Hashes

Page 61: Arulalan  Ruby An Intro

menu = { :idly => 2.50, :dosai => 10.00, :coffee => 5.00, :ice_cream => 5.00}

menu[:idly]2.50

Page 62: Arulalan  Ruby An Intro

Methods

Page 63: Arulalan  Ruby An Intro

Methods

def say_hello(name) result = “Hello, #{name}!” return resultend

puts say_hello(“world”)

Page 64: Arulalan  Ruby An Intro

Methods

def say_hello(name) “Hello, #{name}!”end

puts say_hello(“world”)

Page 65: Arulalan  Ruby An Intro

Class

Page 66: Arulalan  Ruby An Intro

Classesclass MathWhiz

def say_square(value) puts value * value

end

end

sam = MathWhiz.new

sam.say_square(5)

Page 67: Arulalan  Ruby An Intro

Inheritance

class Dog < Animal @catagory = “mammal” @legs = 4end

Page 68: Arulalan  Ruby An Intro

Module

Page 69: Arulalan  Ruby An Intro

Modules

module Trig PI = 3.141592654 def Trig.sin(x) # .. end def Trig.cos(x) # .. endend

Page 70: Arulalan  Ruby An Intro

Modules

require "trig"y = Trig.sin(Trig::PI/4)0.707106780551956

Page 71: Arulalan  Ruby An Intro

Attributes

class PlainOldRubyObject attr_accessor :food, :drinks attr_reader :advice attr_writer :write_onlyend

Page 72: Arulalan  Ruby An Intro

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

THE ENDof code :-)

Page 74: Arulalan  Ruby An Intro

How to Learn?

Page 75: Arulalan  Ruby An Intro

irb● interactive ruby● A ruby Shellnce response● learn as you type

Page 76: Arulalan  Ruby An Intro
Page 77: Arulalan  Ruby An Intro

Web sites

Web Sites

Page 78: Arulalan  Ruby An Intro

http://ruby­lang.org

www.ruby­lang.org

Page 79: Arulalan  Ruby An Intro

www.rubyforge.net

Page 80: Arulalan  Ruby An Intro

http://www.ruby­forum.com/

Page 81: Arulalan  Ruby An Intro
Page 82: Arulalan  Ruby An Intro