Date post: | 15-May-2015 |
Category: |
Documents |
Upload: | andrew-liu |
View: | 565 times |
Download: | 1 times |
Introduction to Ruby
Andrew Liu
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!
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.
Naming Convention
• CamelCase
– Class names, module names
• ALLCAPITAL
– Constants
• words_with_underscore
– Method names, variable names
• $ prefix
– Global variables
Everything is an object!
Strings
String Methods
Array
What if I want to reverse the array?
http://ruby-doc.org/core/
Range
Hash
Block
How does it work?
More About Class
More About Class
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
Creating Instance
Flow Control
Cases
While
For
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