Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Introduction to Ruby

Introduction to Ruby

2011 CCSP

Andrew Liu

March 26, 2012
Tweet

More Decks by Andrew Liu

Other Decks in Programming

Transcript

  1. Introduction to Ruby
    Andrew Liu

    View full-size slide

  2. Ruby is…
    • Designed by Yukihiro Matsumoto (松本行弘)
    – "I wanted a scripting language that was more
    powerful than Perl, and more object-
    oriented than Python. That's why I decided to
    design my own language“
    • An object-oriented scripting language
    • Easy to learn!

    View full-size slide

  3. Philosophy
    • Often people, especially computer engineers, focus
    on the machines. They think, "By doing this, the
    machine will run faster. By doing this, the machine
    will run more effectively. By doing this, the machine
    will something something something."
    • They are focusing on machines. But in fact we need
    to focus on humans, on how humans care about
    doing programming or operating the application of
    the machines. We are the masters. They are the
    slaves.

    View full-size slide

  4. Naming Convention
    • CamelCase
    – Class names, module names
    • ALLCAPITAL
    – Constants
    • words_with_underscore
    – Method names, variable names
    • $ prefix
    – Global variables

    View full-size slide

  5. Everything is an object!

    View full-size slide

  6. String Methods

    View full-size slide

  7. What if I want to reverse the array?
    http://ruby-doc.org/core/

    View full-size slide

  8. How does it work?

    View full-size slide

  9. More About Class

    View full-size slide

  10. More About Class

    View full-size slide

  11. Class
    • Variable
    – @@ prefix: Shared by all class instances
    – @ prefix: Contains instances information
    – No prefix: normal variables
    • Methods
    – self. Prefix: Class methods, as known as static
    method
    – No prefix: Instance methods, must be called with
    a instance

    View full-size slide

  12. Creating Instance

    View full-size slide

  13. Flow Control

    View full-size slide

  14. Resources
    • Programming Ruby (Bible)
    – http://www.ruby-
    doc.org/docs/ProgrammingRuby/
    • Ruby API Document
    – http://ruby-doc.org/core/
    • TryRuby
    – http://tryruby.org/
    • Ruby Warrior
    – https://github.com/ryanb/ruby-warrior

    View full-size slide