$30 off During Our Annual Pro Sale. View Details »

Introduction to Ruby

Introduction to Ruby

2011 CCSP

Andrew Liu

March 26, 2012

More Decks by Andrew Liu

Other Decks in Programming


  1. Introduction to Ruby Andrew Liu

  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!
  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.
  4. None
  5. Naming Convention • CamelCase – Class names, module names •

    ALLCAPITAL – Constants • words_with_underscore – Method names, variable names • $ prefix – Global variables
  6. Everything is an object!

  7. Strings

  8. String Methods

  9. Array

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

  11. None
  12. Range

  13. Hash

  14. Block

  15. How does it work?

  16. More About Class

  17. More About Class

  18. 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
  19. Creating Instance

  20. None
  21. Flow Control

  22. Cases

  23. While

  24. For

  25. 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