SlideShare a Scribd company logo
Ruby Talk – An Introduction to




          Premshree Pillai
        premshree@livejournal.com
Scope of Talk
        What this talk is and what it isn’t
        Me, myself
        What is?
        Why use?
        How to? (a quick run through the syntax)
        Quick comparisons (with Perl and Python)
        Resources


Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004   2
Purpose

What this talk is?
 Get you interested
 Get you started with Ruby
What it isn’t?
 Not a tutorial



Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004   3
Who am I?

(or why should you listen to me)

        21/male/single :)
        Technology consultant
        Freelance writer since 2001
        Perl/Python/Ruby/REBOL hacker


Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004   4
History (Ruby’s, not mine)

      Created (in Japan) by Yukihiro
     Matsumoto, popularly called Matz
      Named as “Ruby” to reflect its Perl
     hertitage
      Released to the public in 1995
      Licensed under GPL or Ruby terms


Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004   5
What the heck is Ruby?

      An object-oriented “scripting” language
      As powerful as Perl; simpler, better OO
      The simplicity of Python
      Follows the principle of “Least
     Surprise” – What You Expect Is What
     You Get


Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004   6
Where can you use Ruby?

        System (n/w, RegExps)
        Web programming (using CGI)
        Agents, crawlers
        DB programming (using DBI)
        GUI (Tk, RubyMagick)



Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004   7
General Features

        High level language
        True OO (everything’s an object!)
        Interpreted
        Portable
        Low learning curve

A quick scan thro’ the syntax
Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004   8
Running Ruby

        From the command line:
               ruby file.rb
      Windows binary comes bundled with
     Scintilla




Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004   9
Basic stuff
print 'Hello, world!'

p 'Hello, world!' # prints with
  newline

my_var = gets # get input



Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004   10
Operators

            (addition)
         +
         - (subtraction/negation)
         * (multiplication)
         / (division)
         % (modulus)
         ** (exponentiation)


Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004   11
Operators (contd.)
         ==
         <=> (returns -1, 0 or 1)
         <, <=, >=, >
         =~ (matching)
         eql? (test of equality of type and
     values)


Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004   12
Operators (contd.)

        ++ and -- are not reserved operators
        Use += and +-




Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004   13
Logical Operators
         and
         or
         not




Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004   14
Typing

        Dynamic typed
        Type checking at run-time
        Strong typed




Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004   15
Basic Data Types

        Integers and floats
        Strings
        Ranges
        Arrays
        Hashes



Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004   16
Strings
my_str = 'whatever'
my_str = quot;blah, blahquot;

my_str.split(quot;,quot;)[0].split(quot;quot;)[2] * 3




Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004   17
Ranges

        Inclusive range
               my_range = 1 .. 3
               my_range = 'abc' .. 'abf'
        Non-inclusive range
               my_range = 1 … 5
               my_range = 'abc' … 'abf'



Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004   18
Arrays
         my_array = [1, 2, 3]
        Common methods:
     my_array.length
     my_array << 4
     my_array[0], etc.




Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004   19
Hashes
        my_hash = {
            'desc' => {'color' => 'blue',},
            1       => [1, 2, 3]
        }
        print my_hash['desc']['color']
        will return
        blue




Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004   20
Hashes (contd.)

        Common methods:
               my_hash.keys
               my_hash.values




Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004   21
Data Type Conversion

        Converting to an Array:
               var_data_type.to_a
        Converting to an String:
               var_data_type.to_s
        More (guess!):
               var_data_type.to_i
               var_data_type.to_f
Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004   22
Everything's an Object

      Methods can be applied to data
     directly – not just on variables holding
     data
      Example:
         5.to_s will return quot;5quot;




Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004   23
Code Blocks

        Code blocks may use braces ( { } ) or
     do/end




Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004   24
Code Blocks (contd.)

        Example
               def my_print(what)
                   print what
               end
      You cannot use braces for function
     blocks


Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004   25
If Statement
     if expression
        code block
     elsif (expression)
        code block
     else
        code block
     end


Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004   26
While Statement
        while expression
          code block
        end
        Example:
          count = 1
          while count < 10
               print count
               count += 1
          end

Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004   27
For Loop
         for variable_name in range
           code block
         end
        Example:
               for count in 0..2
                   print count
               end


Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004   28
Iterators
        array_or_range = value
        array_or_range.each { |x|
          print x
        }
        Example:
               my_range = 1..5
               my_range.each { |x|
                    print x
               }

Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004   29
Functions

        Functions begin with the keyword def
               def function_name([args])
                   code block
               end
        Example:
               def print_name(name='Ruby')
                   print name
               end
Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004   30
OO Ruby
      Classes are containers for static data
     members and functions
      Declared using the class keyword. All class
     names should begin with a capital letter
      Constructor declared using the initialize
     keyword
      Class variables precede with an “@”
      Objects created using the new method

Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004   31
Example class
  class My_class
      def initialize(arg1, arg2)
           @arg1 = arg1
           @arg2 = arg1
      end
      def print_arg1()
           print @arg1
      end
      def print_foo()
           print quot;I Love Ruby!quot;
      end
     private
      def print_arg2()
           print @arg2
      end
  end

  my_object = My_class.new(2, 3)
  my_object.print_arg1
  my_object.print_arg2 # will cause an exception


Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004   32
Inheritance
class Derived_class < My_class
  def initialize()
      @arg = quot;I Love Ruby!quot;
  end
  def print_arg()
      print @arg
  end
end

my_object = Derived_class.new
my_object.print_foo
Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004   33
Notes on OO Ruby

      Access specifiers: public,
     protected, private
      Multiple inheritance not possible




Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004   34
Ruby modules
require 'net/http'


                               superclass


                                                   subclass



Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004   35
Advanced topics

        Regular expressions
        Network programming
        MT programming
        GUI programming (using Tk)
        Web programming



Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004   36
Now what?
What you can do now?
        Get your hands dirty with Ruby
        Write simple Ruby programs

What you have to do?
        Explore Ruby modules
        Find a problem, and Ruby it!

Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004   37
Perl compared to Ruby
        Complicated OO
        Cryptic code

(Ruby is often called “A Better Perl”)




PS: Don’t kill me!

Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004   38
Python compared to Ruby
        Incomplete OO
        Instance variables require self.var
        No class method
        No true GC (uses ref counting)
        Not suitable for one-liners


PS: Don’t kill me!

Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004   39
Resources
     Ruby Home Page
     http://www.ruby-lang.org/en/
     Programming Ruby
     http://www.rubycentral.com/book/
     RubyGarden
     http://www.rubygarden.org/ruby
     Ruby Application Archive (RAA)
     http://raa.ruby-lang.org/
Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004   40
Resources (contd.)

     RubyForge
     http://rubyforge.org/
     ruby-talk

     http://blade.nagaokaut.ac.jp/ruby/ruby-talk



Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004   41
If God did OOP, he’d probably do it in
Python; He’s now considering switching
               to Ruby!




 Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004   42
Thank you!
                                   Questions?




Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004   43

More Related Content

What's hot

New c sharp4_features_part_vi
New c sharp4_features_part_viNew c sharp4_features_part_vi
New c sharp4_features_part_vi
Nico Ludwig
 
Ekon25 mORMot 2 Server-Side Notifications
Ekon25 mORMot 2 Server-Side NotificationsEkon25 mORMot 2 Server-Side Notifications
Ekon25 mORMot 2 Server-Side Notifications
Arnaud Bouchez
 
Metaprogramming in Ruby
Metaprogramming in RubyMetaprogramming in Ruby
Metaprogramming in Ruby
Ross Lawley
 
2CPP02 - C++ Primer
2CPP02 - C++ Primer2CPP02 - C++ Primer
2CPP02 - C++ Primer
Michael Heron
 
WEB PROGRAMMING UNIT VIII BY BHAVSINGH MALOTH
WEB PROGRAMMING UNIT VIII BY BHAVSINGH MALOTHWEB PROGRAMMING UNIT VIII BY BHAVSINGH MALOTH
WEB PROGRAMMING UNIT VIII BY BHAVSINGH MALOTH
Bhavsingh Maloth
 
Dart the better Javascript 2015
Dart the better Javascript 2015Dart the better Javascript 2015
Dart the better Javascript 2015
Jorg Janke
 
Kostis Sagonas: Cool Tools for Modern Erlang Program Developmen
Kostis Sagonas: Cool Tools for Modern Erlang Program DevelopmenKostis Sagonas: Cool Tools for Modern Erlang Program Developmen
Kostis Sagonas: Cool Tools for Modern Erlang Program Developmen
Konstantin Sorokin
 
Protocol Buffer.ppt
Protocol Buffer.pptProtocol Buffer.ppt
Protocol Buffer.ppt
Shashi Bhushan
 
Ruby golightly
Ruby golightlyRuby golightly
Ruby golightly
Eleanor McHugh
 
Programming with Python: Week 1
Programming with Python: Week 1Programming with Python: Week 1
Programming with Python: Week 1
Ahmet Bulut
 
C++ programming
C++ programmingC++ programming
The dark side of Ruby, or Learn functional programming with Ruby
The dark side of Ruby, or Learn functional programming with RubyThe dark side of Ruby, or Learn functional programming with Ruby
The dark side of Ruby, or Learn functional programming with Ruby
Evgeny Garlukovich
 
[LibreOffice Asia Conference 2019] CJK Issues on LibreOffice(based on Korean ...
[LibreOffice Asia Conference 2019] CJK Issues on LibreOffice(based on Korean ...[LibreOffice Asia Conference 2019] CJK Issues on LibreOffice(based on Korean ...
[LibreOffice Asia Conference 2019] CJK Issues on LibreOffice(based on Korean ...
DaeHyun Sung
 
I Know Kung Fu - Juggling Java Bytecode
I Know Kung Fu - Juggling Java BytecodeI Know Kung Fu - Juggling Java Bytecode
I Know Kung Fu - Juggling Java Bytecode
Alexander Shopov
 
Introduction to llvm
Introduction to llvmIntroduction to llvm
Introduction to llvm
Tao He
 
Getting started with Linux and Python by Caffe
Getting started with Linux and Python by CaffeGetting started with Linux and Python by Caffe
Getting started with Linux and Python by Caffe
Lihang Li
 
Dancing with dalvik
Dancing with dalvikDancing with dalvik
Dancing with dalvik
Thomas Richards
 
Lifting The Veil - Reading Java Bytecode During Lunchtime
Lifting The Veil - Reading Java Bytecode During LunchtimeLifting The Veil - Reading Java Bytecode During Lunchtime
Lifting The Veil - Reading Java Bytecode During Lunchtime
Alexander Shopov
 
A peek into Python's Metaclass and Bytecode from a Smalltalk User
A peek into Python's Metaclass and Bytecode from a Smalltalk UserA peek into Python's Metaclass and Bytecode from a Smalltalk User
A peek into Python's Metaclass and Bytecode from a Smalltalk User
Koan-Sin Tan
 

What's hot (19)

New c sharp4_features_part_vi
New c sharp4_features_part_viNew c sharp4_features_part_vi
New c sharp4_features_part_vi
 
Ekon25 mORMot 2 Server-Side Notifications
Ekon25 mORMot 2 Server-Side NotificationsEkon25 mORMot 2 Server-Side Notifications
Ekon25 mORMot 2 Server-Side Notifications
 
Metaprogramming in Ruby
Metaprogramming in RubyMetaprogramming in Ruby
Metaprogramming in Ruby
 
2CPP02 - C++ Primer
2CPP02 - C++ Primer2CPP02 - C++ Primer
2CPP02 - C++ Primer
 
WEB PROGRAMMING UNIT VIII BY BHAVSINGH MALOTH
WEB PROGRAMMING UNIT VIII BY BHAVSINGH MALOTHWEB PROGRAMMING UNIT VIII BY BHAVSINGH MALOTH
WEB PROGRAMMING UNIT VIII BY BHAVSINGH MALOTH
 
Dart the better Javascript 2015
Dart the better Javascript 2015Dart the better Javascript 2015
Dart the better Javascript 2015
 
Kostis Sagonas: Cool Tools for Modern Erlang Program Developmen
Kostis Sagonas: Cool Tools for Modern Erlang Program DevelopmenKostis Sagonas: Cool Tools for Modern Erlang Program Developmen
Kostis Sagonas: Cool Tools for Modern Erlang Program Developmen
 
Protocol Buffer.ppt
Protocol Buffer.pptProtocol Buffer.ppt
Protocol Buffer.ppt
 
Ruby golightly
Ruby golightlyRuby golightly
Ruby golightly
 
Programming with Python: Week 1
Programming with Python: Week 1Programming with Python: Week 1
Programming with Python: Week 1
 
C++ programming
C++ programmingC++ programming
C++ programming
 
The dark side of Ruby, or Learn functional programming with Ruby
The dark side of Ruby, or Learn functional programming with RubyThe dark side of Ruby, or Learn functional programming with Ruby
The dark side of Ruby, or Learn functional programming with Ruby
 
[LibreOffice Asia Conference 2019] CJK Issues on LibreOffice(based on Korean ...
[LibreOffice Asia Conference 2019] CJK Issues on LibreOffice(based on Korean ...[LibreOffice Asia Conference 2019] CJK Issues on LibreOffice(based on Korean ...
[LibreOffice Asia Conference 2019] CJK Issues on LibreOffice(based on Korean ...
 
I Know Kung Fu - Juggling Java Bytecode
I Know Kung Fu - Juggling Java BytecodeI Know Kung Fu - Juggling Java Bytecode
I Know Kung Fu - Juggling Java Bytecode
 
Introduction to llvm
Introduction to llvmIntroduction to llvm
Introduction to llvm
 
Getting started with Linux and Python by Caffe
Getting started with Linux and Python by CaffeGetting started with Linux and Python by Caffe
Getting started with Linux and Python by Caffe
 
Dancing with dalvik
Dancing with dalvikDancing with dalvik
Dancing with dalvik
 
Lifting The Veil - Reading Java Bytecode During Lunchtime
Lifting The Veil - Reading Java Bytecode During LunchtimeLifting The Veil - Reading Java Bytecode During Lunchtime
Lifting The Veil - Reading Java Bytecode During Lunchtime
 
A peek into Python's Metaclass and Bytecode from a Smalltalk User
A peek into Python's Metaclass and Bytecode from a Smalltalk UserA peek into Python's Metaclass and Bytecode from a Smalltalk User
A peek into Python's Metaclass and Bytecode from a Smalltalk User
 

Viewers also liked

citigroup April 18, 2008 - First Quarter
citigroup April 18, 2008 - First Quartercitigroup April 18, 2008 - First Quarter
citigroup April 18, 2008 - First Quarter
QuarterlyEarningsReports
 
Ebay News 2005 4 20 Earnings
Ebay News 2005 4 20 EarningsEbay News 2005 4 20 Earnings
Ebay News 2005 4 20 Earnings
QuarterlyEarningsReports
 
citigroup Financial Supplement July 18, 2008 - Second Quarter
citigroup Financial Supplement July 18, 2008 - Second Quartercitigroup Financial Supplement July 18, 2008 - Second Quarter
citigroup Financial Supplement July 18, 2008 - Second Quarter
QuarterlyEarningsReports
 
Ebay News 2003 1 16 Earnings
Ebay News 2003 1 16 EarningsEbay News 2003 1 16 Earnings
Ebay News 2003 1 16 Earnings
QuarterlyEarningsReports
 
Ebay1017a
Ebay1017aEbay1017a
20050930 Google 10 Q
20050930 Google 10 Q20050930 Google 10 Q
20050930 Google 10 Q
QuarterlyEarningsReports
 
Ebay News 2004 4 21 Earnings
Ebay News 2004 4 21 EarningsEbay News 2004 4 21 Earnings
Ebay News 2004 4 21 Earnings
QuarterlyEarningsReports
 
citigroup October 16, 2008 - Financial Supplement
citigroup October 16, 2008 - Financial Supplementcitigroup October 16, 2008 - Financial Supplement
citigroup October 16, 2008 - Financial Supplement
QuarterlyEarningsReports
 
citigroup Financial Supplement January 15, 2008
citigroup Financial Supplement January 15, 2008citigroup Financial Supplement January 15, 2008
citigroup Financial Supplement January 15, 2008QuarterlyEarningsReports
 
Ebay News 2002 1 15 Earnings
Ebay News 2002 1 15 EarningsEbay News 2002 1 15 Earnings
Ebay News 2002 1 15 Earnings
QuarterlyEarningsReports
 
citigroup October 15, 2007 - Third Quarte
citigroup October 15, 2007 - Third Quartecitigroup October 15, 2007 - Third Quarte
citigroup October 15, 2007 - Third Quarte
QuarterlyEarningsReports
 
citigroup Guide to Reformatted Financial Supplement July 2, 2008
citigroup Guide to Reformatted Financial Supplement July 2, 2008citigroup Guide to Reformatted Financial Supplement July 2, 2008
citigroup Guide to Reformatted Financial Supplement July 2, 2008
QuarterlyEarningsReports
 
citigroup August 5, 2008 - Re-Mapping of Press Release Disclosed Items Explan...
citigroup August 5, 2008 - Re-Mapping of Press Release Disclosed Items Explan...citigroup August 5, 2008 - Re-Mapping of Press Release Disclosed Items Explan...
citigroup August 5, 2008 - Re-Mapping of Press Release Disclosed Items Explan...
QuarterlyEarningsReports
 
2007 Q1 Google Earnings Slides
2007 Q1 Google Earnings Slides2007 Q1 Google Earnings Slides
2007 Q1 Google Earnings Slides
QuarterlyEarningsReports
 
Meg Whitman to Step Down as President and CEO of eBay
Meg Whitman to Step Down as President and CEO of eBayMeg Whitman to Step Down as President and CEO of eBay
Meg Whitman to Step Down as President and CEO of eBay
QuarterlyEarningsReports
 
20070930 Google 10 Q
20070930 Google 10 Q20070930 Google 10 Q
20070930 Google 10 Q
QuarterlyEarningsReports
 

Viewers also liked (17)

citigroup April 18, 2008 - First Quarter
citigroup April 18, 2008 - First Quartercitigroup April 18, 2008 - First Quarter
citigroup April 18, 2008 - First Quarter
 
Ebay News 2005 4 20 Earnings
Ebay News 2005 4 20 EarningsEbay News 2005 4 20 Earnings
Ebay News 2005 4 20 Earnings
 
citigroup Financial Supplement July 18, 2008 - Second Quarter
citigroup Financial Supplement July 18, 2008 - Second Quartercitigroup Financial Supplement July 18, 2008 - Second Quarter
citigroup Financial Supplement July 18, 2008 - Second Quarter
 
Ebay News 2003 1 16 Earnings
Ebay News 2003 1 16 EarningsEbay News 2003 1 16 Earnings
Ebay News 2003 1 16 Earnings
 
Ebay1017a
Ebay1017aEbay1017a
Ebay1017a
 
20050930 Google 10 Q
20050930 Google 10 Q20050930 Google 10 Q
20050930 Google 10 Q
 
Ebay News 2004 4 21 Earnings
Ebay News 2004 4 21 EarningsEbay News 2004 4 21 Earnings
Ebay News 2004 4 21 Earnings
 
citigroup October 16, 2008 - Financial Supplement
citigroup October 16, 2008 - Financial Supplementcitigroup October 16, 2008 - Financial Supplement
citigroup October 16, 2008 - Financial Supplement
 
citigroup Financial Supplement January 15, 2008
citigroup Financial Supplement January 15, 2008citigroup Financial Supplement January 15, 2008
citigroup Financial Supplement January 15, 2008
 
E Bay Inc Earnings Release Q42006
E Bay Inc Earnings Release Q42006E Bay Inc Earnings Release Q42006
E Bay Inc Earnings Release Q42006
 
Ebay News 2002 1 15 Earnings
Ebay News 2002 1 15 EarningsEbay News 2002 1 15 Earnings
Ebay News 2002 1 15 Earnings
 
citigroup October 15, 2007 - Third Quarte
citigroup October 15, 2007 - Third Quartecitigroup October 15, 2007 - Third Quarte
citigroup October 15, 2007 - Third Quarte
 
citigroup Guide to Reformatted Financial Supplement July 2, 2008
citigroup Guide to Reformatted Financial Supplement July 2, 2008citigroup Guide to Reformatted Financial Supplement July 2, 2008
citigroup Guide to Reformatted Financial Supplement July 2, 2008
 
citigroup August 5, 2008 - Re-Mapping of Press Release Disclosed Items Explan...
citigroup August 5, 2008 - Re-Mapping of Press Release Disclosed Items Explan...citigroup August 5, 2008 - Re-Mapping of Press Release Disclosed Items Explan...
citigroup August 5, 2008 - Re-Mapping of Press Release Disclosed Items Explan...
 
2007 Q1 Google Earnings Slides
2007 Q1 Google Earnings Slides2007 Q1 Google Earnings Slides
2007 Q1 Google Earnings Slides
 
Meg Whitman to Step Down as President and CEO of eBay
Meg Whitman to Step Down as President and CEO of eBayMeg Whitman to Step Down as President and CEO of eBay
Meg Whitman to Step Down as President and CEO of eBay
 
20070930 Google 10 Q
20070930 Google 10 Q20070930 Google 10 Q
20070930 Google 10 Q
 

Similar to Ebay News 2001 4 19 Earnings

Ruby on Rails Training - Module 1
Ruby on Rails Training - Module 1Ruby on Rails Training - Module 1
Ruby on Rails Training - Module 1
Mark Menard
 
Intro for RoR
Intro for RoRIntro for RoR
Intro To Ror
Intro To RorIntro To Ror
Intro To Ror
myuser
 
Ruby
RubyRuby
Page List & Sample Material (Repaired)
Page List & Sample Material (Repaired)Page List & Sample Material (Repaired)
Page List & Sample Material (Repaired)
Muhammad Haseeb Shahid
 
How DSL works on Ruby
How DSL works on RubyHow DSL works on Ruby
How DSL works on Ruby
Hiroshi SHIBATA
 
Intro To Ror
Intro To RorIntro To Ror
Intro To Ror
guest5dedf5
 
Rubyforjavaprogrammers 1210167973516759-9
Rubyforjavaprogrammers 1210167973516759-9Rubyforjavaprogrammers 1210167973516759-9
Rubyforjavaprogrammers 1210167973516759-9
sagaroceanic11
 
Rubyforjavaprogrammers 1210167973516759-9
Rubyforjavaprogrammers 1210167973516759-9Rubyforjavaprogrammers 1210167973516759-9
Rubyforjavaprogrammers 1210167973516759-9
sagaroceanic11
 
l-rubysocks-a4
l-rubysocks-a4l-rubysocks-a4
l-rubysocks-a4
tutorialsruby
 
l-rubysocks-a4
l-rubysocks-a4l-rubysocks-a4
l-rubysocks-a4
tutorialsruby
 
MMBJ Shanzhai Culture
MMBJ Shanzhai CultureMMBJ Shanzhai Culture
MMBJ Shanzhai Culture
MobileMonday Beijing
 
Washington Practitioners Significant Changes To Rpc 1.5
Washington Practitioners Significant Changes To Rpc 1.5Washington Practitioners Significant Changes To Rpc 1.5
Washington Practitioners Significant Changes To Rpc 1.5
Oregon Law Practice Management
 
Agapornis Mansos - www.criadourosudica.blogspot.com
Agapornis Mansos - www.criadourosudica.blogspot.comAgapornis Mansos - www.criadourosudica.blogspot.com
Agapornis Mansos - www.criadourosudica.blogspot.com
Antonio Silva
 
Paulo Freire Pedagpogia 1
Paulo Freire Pedagpogia 1Paulo Freire Pedagpogia 1
Paulo Freire Pedagpogia 1
Alejandra Perez
 
Jerry Shea Resume And Addendum 5 2 09
Jerry  Shea Resume And Addendum 5 2 09Jerry  Shea Resume And Addendum 5 2 09
Jerry Shea Resume And Addendum 5 2 09
gshea11
 
LoteríA Correcta
LoteríA CorrectaLoteríA Correcta
LoteríA Correcta
guest4dfcdf6
 
Majlis Persaraan Pn.Hjh.Normah bersama guru-guru Sesi Petang
Majlis Persaraan Pn.Hjh.Normah bersama guru-guru Sesi PetangMajlis Persaraan Pn.Hjh.Normah bersama guru-guru Sesi Petang
Majlis Persaraan Pn.Hjh.Normah bersama guru-guru Sesi Petang
Imsamad
 
Ruby tutorial
Ruby tutorialRuby tutorial
Ruby tutorial
knoppix
 
Ruby Hell Yeah
Ruby Hell YeahRuby Hell Yeah
Ruby Hell Yeah
Anupom Syam
 

Similar to Ebay News 2001 4 19 Earnings (20)

Ruby on Rails Training - Module 1
Ruby on Rails Training - Module 1Ruby on Rails Training - Module 1
Ruby on Rails Training - Module 1
 
Intro for RoR
Intro for RoRIntro for RoR
Intro for RoR
 
Intro To Ror
Intro To RorIntro To Ror
Intro To Ror
 
Ruby
RubyRuby
Ruby
 
Page List & Sample Material (Repaired)
Page List & Sample Material (Repaired)Page List & Sample Material (Repaired)
Page List & Sample Material (Repaired)
 
How DSL works on Ruby
How DSL works on RubyHow DSL works on Ruby
How DSL works on Ruby
 
Intro To Ror
Intro To RorIntro To Ror
Intro To Ror
 
Rubyforjavaprogrammers 1210167973516759-9
Rubyforjavaprogrammers 1210167973516759-9Rubyforjavaprogrammers 1210167973516759-9
Rubyforjavaprogrammers 1210167973516759-9
 
Rubyforjavaprogrammers 1210167973516759-9
Rubyforjavaprogrammers 1210167973516759-9Rubyforjavaprogrammers 1210167973516759-9
Rubyforjavaprogrammers 1210167973516759-9
 
l-rubysocks-a4
l-rubysocks-a4l-rubysocks-a4
l-rubysocks-a4
 
l-rubysocks-a4
l-rubysocks-a4l-rubysocks-a4
l-rubysocks-a4
 
MMBJ Shanzhai Culture
MMBJ Shanzhai CultureMMBJ Shanzhai Culture
MMBJ Shanzhai Culture
 
Washington Practitioners Significant Changes To Rpc 1.5
Washington Practitioners Significant Changes To Rpc 1.5Washington Practitioners Significant Changes To Rpc 1.5
Washington Practitioners Significant Changes To Rpc 1.5
 
Agapornis Mansos - www.criadourosudica.blogspot.com
Agapornis Mansos - www.criadourosudica.blogspot.comAgapornis Mansos - www.criadourosudica.blogspot.com
Agapornis Mansos - www.criadourosudica.blogspot.com
 
Paulo Freire Pedagpogia 1
Paulo Freire Pedagpogia 1Paulo Freire Pedagpogia 1
Paulo Freire Pedagpogia 1
 
Jerry Shea Resume And Addendum 5 2 09
Jerry  Shea Resume And Addendum 5 2 09Jerry  Shea Resume And Addendum 5 2 09
Jerry Shea Resume And Addendum 5 2 09
 
LoteríA Correcta
LoteríA CorrectaLoteríA Correcta
LoteríA Correcta
 
Majlis Persaraan Pn.Hjh.Normah bersama guru-guru Sesi Petang
Majlis Persaraan Pn.Hjh.Normah bersama guru-guru Sesi PetangMajlis Persaraan Pn.Hjh.Normah bersama guru-guru Sesi Petang
Majlis Persaraan Pn.Hjh.Normah bersama guru-guru Sesi Petang
 
Ruby tutorial
Ruby tutorialRuby tutorial
Ruby tutorial
 
Ruby Hell Yeah
Ruby Hell YeahRuby Hell Yeah
Ruby Hell Yeah
 

More from QuarterlyEarningsReports

citigroup April 17, 2000 - First Quarter Financial Supplement
citigroup April 17, 2000 - First Quarter Financial Supplementcitigroup April 17, 2000 - First Quarter Financial Supplement
citigroup April 17, 2000 - First Quarter Financial Supplement
QuarterlyEarningsReports
 
citigroup April 17, 2000 - First Quarter Press Release
citigroup April 17, 2000 - First Quarter Press Releasecitigroup April 17, 2000 - First Quarter Press Release
citigroup April 17, 2000 - First Quarter Press Release
QuarterlyEarningsReports
 
citigroup Financial Supplement
citigroup Financial Supplementcitigroup Financial Supplement
citigroup Financial Supplement
QuarterlyEarningsReports
 
citigroup July 19, 2000 - Second Quarter Financial Supplement
citigroup July 19, 2000 - Second Quarter Financial Supplementcitigroup July 19, 2000 - Second Quarter Financial Supplement
citigroup July 19, 2000 - Second Quarter Financial Supplement
QuarterlyEarningsReports
 
citigroup July 19, 2000 - Second Quarter Press Release
citigroup  July 19, 2000 - Second Quarter Press Releasecitigroup  July 19, 2000 - Second Quarter Press Release
citigroup July 19, 2000 - Second Quarter Press Release
QuarterlyEarningsReports
 
citigroup Financial Supplement
citigroup Financial Supplementcitigroup Financial Supplement
citigroup Financial Supplement
QuarterlyEarningsReports
 
citigroup Financial Supplement
citigroup Financial Supplementcitigroup Financial Supplement
citigroup Financial Supplement
QuarterlyEarningsReports
 
citigroup October 17, 2000 - Third Quarter Press Release
citigroup October 17, 2000 - Third Quarter Press Releasecitigroup October 17, 2000 - Third Quarter Press Release
citigroup October 17, 2000 - Third Quarter Press Release
QuarterlyEarningsReports
 
citigroup January 16, 2001 - Fourth Quarter Financial Supplement
citigroup January 16, 2001 - Fourth Quarter Financial Supplementcitigroup January 16, 2001 - Fourth Quarter Financial Supplement
citigroup January 16, 2001 - Fourth Quarter Financial Supplement
QuarterlyEarningsReports
 
citigroup January 16, 2001 - Fourth Quarter Press Release
citigroup January 16, 2001 - Fourth Quarter Press Releasecitigroup January 16, 2001 - Fourth Quarter Press Release
citigroup January 16, 2001 - Fourth Quarter Press Release
QuarterlyEarningsReports
 
citigroup Financial Supplement
citigroup Financial Supplementcitigroup Financial Supplement
citigroup Financial Supplement
QuarterlyEarningsReports
 
citigroup April 16, 2001 - First Quarter Financial Supplement
citigroup April 16, 2001 - First Quarter  Financial Supplementcitigroup April 16, 2001 - First Quarter  Financial Supplement
citigroup April 16, 2001 - First Quarter Financial Supplement
QuarterlyEarningsReports
 
citigroup April 16, 2001 - First Quarter Press Release
citigroup April 16, 2001 - First Quarter Press Releasecitigroup April 16, 2001 - First Quarter Press Release
citigroup April 16, 2001 - First Quarter Press Release
QuarterlyEarningsReports
 
citigroup Financial Supplement
citigroup Financial Supplementcitigroup Financial Supplement
citigroup Financial Supplement
QuarterlyEarningsReports
 
citi July 16, 2001 - Second Quarter Financial Supplement
citi July 16, 2001 - Second Quarter Financial Supplementciti July 16, 2001 - Second Quarter Financial Supplement
citi July 16, 2001 - Second Quarter Financial Supplement
QuarterlyEarningsReports
 
citigroup July 16, 2001 - Second Quarter Press Release
citigroup July 16, 2001 - Second Quarter Press Releasecitigroup July 16, 2001 - Second Quarter Press Release
citigroup July 16, 2001 - Second Quarter Press Release
QuarterlyEarningsReports
 
citigroupFinancial Supplement
citigroupFinancial SupplementcitigroupFinancial Supplement
citigroupFinancial Supplement
QuarterlyEarningsReports
 
citigroup October 17, 2001 - Third Quarter Financial Supplement
citigroup October 17, 2001 - Third Quarter  Financial Supplementcitigroup October 17, 2001 - Third Quarter  Financial Supplement
citigroup October 17, 2001 - Third Quarter Financial Supplement
QuarterlyEarningsReports
 
citigroup October 17, 2001 - Third Quarter Press Release
citigroup October 17, 2001 - Third Quarter Press Releasecitigroup October 17, 2001 - Third Quarter Press Release
citigroup October 17, 2001 - Third Quarter Press Release
QuarterlyEarningsReports
 
citigroup January 17, 2002 - Fourth Quarter Financial Supplement
citigroup January 17, 2002 - Fourth Quarter  Financial Supplementcitigroup January 17, 2002 - Fourth Quarter  Financial Supplement
citigroup January 17, 2002 - Fourth Quarter Financial Supplement
QuarterlyEarningsReports
 

More from QuarterlyEarningsReports (20)

citigroup April 17, 2000 - First Quarter Financial Supplement
citigroup April 17, 2000 - First Quarter Financial Supplementcitigroup April 17, 2000 - First Quarter Financial Supplement
citigroup April 17, 2000 - First Quarter Financial Supplement
 
citigroup April 17, 2000 - First Quarter Press Release
citigroup April 17, 2000 - First Quarter Press Releasecitigroup April 17, 2000 - First Quarter Press Release
citigroup April 17, 2000 - First Quarter Press Release
 
citigroup Financial Supplement
citigroup Financial Supplementcitigroup Financial Supplement
citigroup Financial Supplement
 
citigroup July 19, 2000 - Second Quarter Financial Supplement
citigroup July 19, 2000 - Second Quarter Financial Supplementcitigroup July 19, 2000 - Second Quarter Financial Supplement
citigroup July 19, 2000 - Second Quarter Financial Supplement
 
citigroup July 19, 2000 - Second Quarter Press Release
citigroup  July 19, 2000 - Second Quarter Press Releasecitigroup  July 19, 2000 - Second Quarter Press Release
citigroup July 19, 2000 - Second Quarter Press Release
 
citigroup Financial Supplement
citigroup Financial Supplementcitigroup Financial Supplement
citigroup Financial Supplement
 
citigroup Financial Supplement
citigroup Financial Supplementcitigroup Financial Supplement
citigroup Financial Supplement
 
citigroup October 17, 2000 - Third Quarter Press Release
citigroup October 17, 2000 - Third Quarter Press Releasecitigroup October 17, 2000 - Third Quarter Press Release
citigroup October 17, 2000 - Third Quarter Press Release
 
citigroup January 16, 2001 - Fourth Quarter Financial Supplement
citigroup January 16, 2001 - Fourth Quarter Financial Supplementcitigroup January 16, 2001 - Fourth Quarter Financial Supplement
citigroup January 16, 2001 - Fourth Quarter Financial Supplement
 
citigroup January 16, 2001 - Fourth Quarter Press Release
citigroup January 16, 2001 - Fourth Quarter Press Releasecitigroup January 16, 2001 - Fourth Quarter Press Release
citigroup January 16, 2001 - Fourth Quarter Press Release
 
citigroup Financial Supplement
citigroup Financial Supplementcitigroup Financial Supplement
citigroup Financial Supplement
 
citigroup April 16, 2001 - First Quarter Financial Supplement
citigroup April 16, 2001 - First Quarter  Financial Supplementcitigroup April 16, 2001 - First Quarter  Financial Supplement
citigroup April 16, 2001 - First Quarter Financial Supplement
 
citigroup April 16, 2001 - First Quarter Press Release
citigroup April 16, 2001 - First Quarter Press Releasecitigroup April 16, 2001 - First Quarter Press Release
citigroup April 16, 2001 - First Quarter Press Release
 
citigroup Financial Supplement
citigroup Financial Supplementcitigroup Financial Supplement
citigroup Financial Supplement
 
citi July 16, 2001 - Second Quarter Financial Supplement
citi July 16, 2001 - Second Quarter Financial Supplementciti July 16, 2001 - Second Quarter Financial Supplement
citi July 16, 2001 - Second Quarter Financial Supplement
 
citigroup July 16, 2001 - Second Quarter Press Release
citigroup July 16, 2001 - Second Quarter Press Releasecitigroup July 16, 2001 - Second Quarter Press Release
citigroup July 16, 2001 - Second Quarter Press Release
 
citigroupFinancial Supplement
citigroupFinancial SupplementcitigroupFinancial Supplement
citigroupFinancial Supplement
 
citigroup October 17, 2001 - Third Quarter Financial Supplement
citigroup October 17, 2001 - Third Quarter  Financial Supplementcitigroup October 17, 2001 - Third Quarter  Financial Supplement
citigroup October 17, 2001 - Third Quarter Financial Supplement
 
citigroup October 17, 2001 - Third Quarter Press Release
citigroup October 17, 2001 - Third Quarter Press Releasecitigroup October 17, 2001 - Third Quarter Press Release
citigroup October 17, 2001 - Third Quarter Press Release
 
citigroup January 17, 2002 - Fourth Quarter Financial Supplement
citigroup January 17, 2002 - Fourth Quarter  Financial Supplementcitigroup January 17, 2002 - Fourth Quarter  Financial Supplement
citigroup January 17, 2002 - Fourth Quarter Financial Supplement
 

Recently uploaded

Authentically Social by Corey Perlman - EO Puerto Rico
Authentically Social by Corey Perlman - EO Puerto RicoAuthentically Social by Corey Perlman - EO Puerto Rico
Authentically Social by Corey Perlman - EO Puerto Rico
Corey Perlman, Social Media Speaker and Consultant
 
Mastering B2B Payments Webinar from BlueSnap
Mastering B2B Payments Webinar from BlueSnapMastering B2B Payments Webinar from BlueSnap
Mastering B2B Payments Webinar from BlueSnap
Norma Mushkat Gaffin
 
In the Adani-Hindenburg case, what is SEBI investigating.pptx
In the Adani-Hindenburg case, what is SEBI investigating.pptxIn the Adani-Hindenburg case, what is SEBI investigating.pptx
In the Adani-Hindenburg case, what is SEBI investigating.pptx
Adani case
 
Best Forex Brokers Comparison in INDIA 2024
Best Forex Brokers Comparison in INDIA 2024Best Forex Brokers Comparison in INDIA 2024
Best Forex Brokers Comparison in INDIA 2024
Top Forex Brokers Review
 
Exploring Patterns of Connection with Social Dreaming
Exploring Patterns of Connection with Social DreamingExploring Patterns of Connection with Social Dreaming
Exploring Patterns of Connection with Social Dreaming
Nicola Wreford-Howard
 
Digital Transformation and IT Strategy Toolkit and Templates
Digital Transformation and IT Strategy Toolkit and TemplatesDigital Transformation and IT Strategy Toolkit and Templates
Digital Transformation and IT Strategy Toolkit and Templates
Aurelien Domont, MBA
 
Authentically Social Presented by Corey Perlman
Authentically Social Presented by Corey PerlmanAuthentically Social Presented by Corey Perlman
Authentically Social Presented by Corey Perlman
Corey Perlman, Social Media Speaker and Consultant
 
LA HUG - Video Testimonials with Chynna Morgan - June 2024
LA HUG - Video Testimonials with Chynna Morgan - June 2024LA HUG - Video Testimonials with Chynna Morgan - June 2024
LA HUG - Video Testimonials with Chynna Morgan - June 2024
Lital Barkan
 
FIA officials brutally tortured innocent and snatched 200 Bitcoins of worth 4...
FIA officials brutally tortured innocent and snatched 200 Bitcoins of worth 4...FIA officials brutally tortured innocent and snatched 200 Bitcoins of worth 4...
FIA officials brutally tortured innocent and snatched 200 Bitcoins of worth 4...
jamalseoexpert1978
 
An introduction to the cryptocurrency investment platform Binance Savings.
An introduction to the cryptocurrency investment platform Binance Savings.An introduction to the cryptocurrency investment platform Binance Savings.
An introduction to the cryptocurrency investment platform Binance Savings.
Any kyc Account
 
Zodiac Signs and Food Preferences_ What Your Sign Says About Your Taste
Zodiac Signs and Food Preferences_ What Your Sign Says About Your TasteZodiac Signs and Food Preferences_ What Your Sign Says About Your Taste
Zodiac Signs and Food Preferences_ What Your Sign Says About Your Taste
my Pandit
 
Call 8867766396 Satta Matka Dpboss Matka Guessing Satta batta Matka 420 Satta...
Call 8867766396 Satta Matka Dpboss Matka Guessing Satta batta Matka 420 Satta...Call 8867766396 Satta Matka Dpboss Matka Guessing Satta batta Matka 420 Satta...
Call 8867766396 Satta Matka Dpboss Matka Guessing Satta batta Matka 420 Satta...
bosssp10
 
Understanding User Needs and Satisfying Them
Understanding User Needs and Satisfying ThemUnderstanding User Needs and Satisfying Them
Understanding User Needs and Satisfying Them
Aggregage
 
Evgen Osmak: Methods of key project parameters estimation: from the shaman-in...
Evgen Osmak: Methods of key project parameters estimation: from the shaman-in...Evgen Osmak: Methods of key project parameters estimation: from the shaman-in...
Evgen Osmak: Methods of key project parameters estimation: from the shaman-in...
Lviv Startup Club
 
Best practices for project execution and delivery
Best practices for project execution and deliveryBest practices for project execution and delivery
Best practices for project execution and delivery
CLIVE MINCHIN
 
The Influence of Marketing Strategy and Market Competition on Business Perfor...
The Influence of Marketing Strategy and Market Competition on Business Perfor...The Influence of Marketing Strategy and Market Competition on Business Perfor...
The Influence of Marketing Strategy and Market Competition on Business Perfor...
Adam Smith
 
Industrial Tech SW: Category Renewal and Creation
Industrial Tech SW:  Category Renewal and CreationIndustrial Tech SW:  Category Renewal and Creation
Industrial Tech SW: Category Renewal and Creation
Christian Dahlen
 
Hamster Kombat' Telegram Game Surpasses 100 Million Players—Token Release Sch...
Hamster Kombat' Telegram Game Surpasses 100 Million Players—Token Release Sch...Hamster Kombat' Telegram Game Surpasses 100 Million Players—Token Release Sch...
Hamster Kombat' Telegram Game Surpasses 100 Million Players—Token Release Sch...
SOFTTECHHUB
 
Recruiting in the Digital Age: A Social Media Masterclass
Recruiting in the Digital Age: A Social Media MasterclassRecruiting in the Digital Age: A Social Media Masterclass
Recruiting in the Digital Age: A Social Media Masterclass
LuanWise
 
Unveiling the Dynamic Personalities, Key Dates, and Horoscope Insights: Gemin...
Unveiling the Dynamic Personalities, Key Dates, and Horoscope Insights: Gemin...Unveiling the Dynamic Personalities, Key Dates, and Horoscope Insights: Gemin...
Unveiling the Dynamic Personalities, Key Dates, and Horoscope Insights: Gemin...
my Pandit
 

Recently uploaded (20)

Authentically Social by Corey Perlman - EO Puerto Rico
Authentically Social by Corey Perlman - EO Puerto RicoAuthentically Social by Corey Perlman - EO Puerto Rico
Authentically Social by Corey Perlman - EO Puerto Rico
 
Mastering B2B Payments Webinar from BlueSnap
Mastering B2B Payments Webinar from BlueSnapMastering B2B Payments Webinar from BlueSnap
Mastering B2B Payments Webinar from BlueSnap
 
In the Adani-Hindenburg case, what is SEBI investigating.pptx
In the Adani-Hindenburg case, what is SEBI investigating.pptxIn the Adani-Hindenburg case, what is SEBI investigating.pptx
In the Adani-Hindenburg case, what is SEBI investigating.pptx
 
Best Forex Brokers Comparison in INDIA 2024
Best Forex Brokers Comparison in INDIA 2024Best Forex Brokers Comparison in INDIA 2024
Best Forex Brokers Comparison in INDIA 2024
 
Exploring Patterns of Connection with Social Dreaming
Exploring Patterns of Connection with Social DreamingExploring Patterns of Connection with Social Dreaming
Exploring Patterns of Connection with Social Dreaming
 
Digital Transformation and IT Strategy Toolkit and Templates
Digital Transformation and IT Strategy Toolkit and TemplatesDigital Transformation and IT Strategy Toolkit and Templates
Digital Transformation and IT Strategy Toolkit and Templates
 
Authentically Social Presented by Corey Perlman
Authentically Social Presented by Corey PerlmanAuthentically Social Presented by Corey Perlman
Authentically Social Presented by Corey Perlman
 
LA HUG - Video Testimonials with Chynna Morgan - June 2024
LA HUG - Video Testimonials with Chynna Morgan - June 2024LA HUG - Video Testimonials with Chynna Morgan - June 2024
LA HUG - Video Testimonials with Chynna Morgan - June 2024
 
FIA officials brutally tortured innocent and snatched 200 Bitcoins of worth 4...
FIA officials brutally tortured innocent and snatched 200 Bitcoins of worth 4...FIA officials brutally tortured innocent and snatched 200 Bitcoins of worth 4...
FIA officials brutally tortured innocent and snatched 200 Bitcoins of worth 4...
 
An introduction to the cryptocurrency investment platform Binance Savings.
An introduction to the cryptocurrency investment platform Binance Savings.An introduction to the cryptocurrency investment platform Binance Savings.
An introduction to the cryptocurrency investment platform Binance Savings.
 
Zodiac Signs and Food Preferences_ What Your Sign Says About Your Taste
Zodiac Signs and Food Preferences_ What Your Sign Says About Your TasteZodiac Signs and Food Preferences_ What Your Sign Says About Your Taste
Zodiac Signs and Food Preferences_ What Your Sign Says About Your Taste
 
Call 8867766396 Satta Matka Dpboss Matka Guessing Satta batta Matka 420 Satta...
Call 8867766396 Satta Matka Dpboss Matka Guessing Satta batta Matka 420 Satta...Call 8867766396 Satta Matka Dpboss Matka Guessing Satta batta Matka 420 Satta...
Call 8867766396 Satta Matka Dpboss Matka Guessing Satta batta Matka 420 Satta...
 
Understanding User Needs and Satisfying Them
Understanding User Needs and Satisfying ThemUnderstanding User Needs and Satisfying Them
Understanding User Needs and Satisfying Them
 
Evgen Osmak: Methods of key project parameters estimation: from the shaman-in...
Evgen Osmak: Methods of key project parameters estimation: from the shaman-in...Evgen Osmak: Methods of key project parameters estimation: from the shaman-in...
Evgen Osmak: Methods of key project parameters estimation: from the shaman-in...
 
Best practices for project execution and delivery
Best practices for project execution and deliveryBest practices for project execution and delivery
Best practices for project execution and delivery
 
The Influence of Marketing Strategy and Market Competition on Business Perfor...
The Influence of Marketing Strategy and Market Competition on Business Perfor...The Influence of Marketing Strategy and Market Competition on Business Perfor...
The Influence of Marketing Strategy and Market Competition on Business Perfor...
 
Industrial Tech SW: Category Renewal and Creation
Industrial Tech SW:  Category Renewal and CreationIndustrial Tech SW:  Category Renewal and Creation
Industrial Tech SW: Category Renewal and Creation
 
Hamster Kombat' Telegram Game Surpasses 100 Million Players—Token Release Sch...
Hamster Kombat' Telegram Game Surpasses 100 Million Players—Token Release Sch...Hamster Kombat' Telegram Game Surpasses 100 Million Players—Token Release Sch...
Hamster Kombat' Telegram Game Surpasses 100 Million Players—Token Release Sch...
 
Recruiting in the Digital Age: A Social Media Masterclass
Recruiting in the Digital Age: A Social Media MasterclassRecruiting in the Digital Age: A Social Media Masterclass
Recruiting in the Digital Age: A Social Media Masterclass
 
Unveiling the Dynamic Personalities, Key Dates, and Horoscope Insights: Gemin...
Unveiling the Dynamic Personalities, Key Dates, and Horoscope Insights: Gemin...Unveiling the Dynamic Personalities, Key Dates, and Horoscope Insights: Gemin...
Unveiling the Dynamic Personalities, Key Dates, and Horoscope Insights: Gemin...
 

Ebay News 2001 4 19 Earnings

  • 1. Ruby Talk – An Introduction to Premshree Pillai premshree@livejournal.com
  • 2. Scope of Talk What this talk is and what it isn’t Me, myself What is? Why use? How to? (a quick run through the syntax) Quick comparisons (with Perl and Python) Resources Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004 2
  • 3. Purpose What this talk is? Get you interested Get you started with Ruby What it isn’t? Not a tutorial Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004 3
  • 4. Who am I? (or why should you listen to me) 21/male/single :) Technology consultant Freelance writer since 2001 Perl/Python/Ruby/REBOL hacker Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004 4
  • 5. History (Ruby’s, not mine) Created (in Japan) by Yukihiro Matsumoto, popularly called Matz Named as “Ruby” to reflect its Perl hertitage Released to the public in 1995 Licensed under GPL or Ruby terms Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004 5
  • 6. What the heck is Ruby? An object-oriented “scripting” language As powerful as Perl; simpler, better OO The simplicity of Python Follows the principle of “Least Surprise” – What You Expect Is What You Get Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004 6
  • 7. Where can you use Ruby? System (n/w, RegExps) Web programming (using CGI)  Agents, crawlers DB programming (using DBI) GUI (Tk, RubyMagick) Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004 7
  • 8. General Features High level language True OO (everything’s an object!) Interpreted Portable Low learning curve A quick scan thro’ the syntax Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004 8
  • 9. Running Ruby From the command line: ruby file.rb Windows binary comes bundled with Scintilla Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004 9
  • 10. Basic stuff print 'Hello, world!' p 'Hello, world!' # prints with newline my_var = gets # get input Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004 10
  • 11. Operators (addition) + - (subtraction/negation) * (multiplication) / (division) % (modulus) ** (exponentiation) Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004 11
  • 12. Operators (contd.) == <=> (returns -1, 0 or 1) <, <=, >=, > =~ (matching) eql? (test of equality of type and values) Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004 12
  • 13. Operators (contd.) ++ and -- are not reserved operators Use += and +- Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004 13
  • 14. Logical Operators and or not Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004 14
  • 15. Typing Dynamic typed  Type checking at run-time Strong typed Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004 15
  • 16. Basic Data Types Integers and floats Strings Ranges Arrays Hashes Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004 16
  • 17. Strings my_str = 'whatever' my_str = quot;blah, blahquot; my_str.split(quot;,quot;)[0].split(quot;quot;)[2] * 3 Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004 17
  • 18. Ranges Inclusive range my_range = 1 .. 3 my_range = 'abc' .. 'abf' Non-inclusive range my_range = 1 … 5 my_range = 'abc' … 'abf' Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004 18
  • 19. Arrays my_array = [1, 2, 3] Common methods: my_array.length my_array << 4 my_array[0], etc. Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004 19
  • 20. Hashes my_hash = { 'desc' => {'color' => 'blue',}, 1 => [1, 2, 3] } print my_hash['desc']['color'] will return blue Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004 20
  • 21. Hashes (contd.) Common methods: my_hash.keys my_hash.values Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004 21
  • 22. Data Type Conversion Converting to an Array: var_data_type.to_a Converting to an String: var_data_type.to_s More (guess!): var_data_type.to_i var_data_type.to_f Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004 22
  • 23. Everything's an Object Methods can be applied to data directly – not just on variables holding data Example: 5.to_s will return quot;5quot; Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004 23
  • 24. Code Blocks Code blocks may use braces ( { } ) or do/end Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004 24
  • 25. Code Blocks (contd.) Example def my_print(what) print what end You cannot use braces for function blocks Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004 25
  • 26. If Statement if expression code block elsif (expression) code block else code block end Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004 26
  • 27. While Statement while expression code block end Example: count = 1 while count < 10 print count count += 1 end Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004 27
  • 28. For Loop for variable_name in range code block end Example: for count in 0..2 print count end Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004 28
  • 29. Iterators array_or_range = value array_or_range.each { |x| print x } Example: my_range = 1..5 my_range.each { |x| print x } Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004 29
  • 30. Functions Functions begin with the keyword def def function_name([args]) code block end Example: def print_name(name='Ruby') print name end Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004 30
  • 31. OO Ruby Classes are containers for static data members and functions Declared using the class keyword. All class names should begin with a capital letter Constructor declared using the initialize keyword Class variables precede with an “@” Objects created using the new method Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004 31
  • 32. Example class class My_class def initialize(arg1, arg2) @arg1 = arg1 @arg2 = arg1 end def print_arg1() print @arg1 end def print_foo() print quot;I Love Ruby!quot; end private def print_arg2() print @arg2 end end my_object = My_class.new(2, 3) my_object.print_arg1 my_object.print_arg2 # will cause an exception Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004 32
  • 33. Inheritance class Derived_class < My_class def initialize() @arg = quot;I Love Ruby!quot; end def print_arg() print @arg end end my_object = Derived_class.new my_object.print_foo Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004 33
  • 34. Notes on OO Ruby Access specifiers: public, protected, private Multiple inheritance not possible Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004 34
  • 35. Ruby modules require 'net/http' superclass subclass Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004 35
  • 36. Advanced topics Regular expressions Network programming MT programming GUI programming (using Tk) Web programming Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004 36
  • 37. Now what? What you can do now? Get your hands dirty with Ruby Write simple Ruby programs What you have to do? Explore Ruby modules Find a problem, and Ruby it! Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004 37
  • 38. Perl compared to Ruby Complicated OO Cryptic code (Ruby is often called “A Better Perl”) PS: Don’t kill me! Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004 38
  • 39. Python compared to Ruby Incomplete OO Instance variables require self.var No class method No true GC (uses ref counting) Not suitable for one-liners PS: Don’t kill me! Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004 39
  • 40. Resources Ruby Home Page http://www.ruby-lang.org/en/ Programming Ruby http://www.rubycentral.com/book/ RubyGarden http://www.rubygarden.org/ruby Ruby Application Archive (RAA) http://raa.ruby-lang.org/ Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004 40
  • 41. Resources (contd.) RubyForge http://rubyforge.org/ ruby-talk http://blade.nagaokaut.ac.jp/ruby/ruby-talk Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004 41
  • 42. If God did OOP, he’d probably do it in Python; He’s now considering switching to Ruby! Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004 42
  • 43. Thank you! Questions? Ruby Talk - An Introduction to Ruby -- Linux Bangalore/2004 43