Kon nichi wa_ruby

1,059 views

Published on

1 Comment
0 Likes
Statistics
Notes
  • Be the first to like this

No Downloads
Views
Total views
1,059
On SlideShare
0
From Embeds
0
Number of Embeds
86
Actions
Shares
0
Downloads
6
Comments
1
Likes
0
Embeds 0
No embeds

No notes for slide

Kon nichi wa_ruby

  1. 1. KON’NICHI WA, RUBY An introduction to Ruby with an appearance by Sinatra Monday, September 27, 2010
  2. 2. Speaker.new({ :name => "Scotty Motte", :twitter => "@spitfiresky", :email => "scott@scottmotte.com" }) Monday, September 27, 2010
  3. 3. ABOUT RUBY • Created by Matz - he’s from Japan! • Written for humans not for computers • Easy to read and write • 5.times { puts “Arigato Matz! Have some chunky bacon!”} • [‘riverside’, ‘japan’, ‘america’].each { |locale| puts locale.capitalize } • Popularized by Ruby on Rails Monday, September 27, 2010
  4. 4. INSTALLATION • Mac Users, I say rejoice, for thou haveth Ruby already! • Windows users - are you prejudiced towards Japan or something?! Let’s fix that by installing Ruby: • http://rubyinstaller.org/ - follow the default installation steps and you are good to go. It will install to your programs directory. Monday, September 27, 2010
  5. 5. IRB IS THE WORD • irb - Interactive Ruby Console. The best way to tryout and learn Ruby. • Comes packaged with your Ruby Install • To Use: • Mac: open up command line and type: irb • Windows: open up Interactive Ruby program Monday, September 27, 2010
  6. 6. IRB EXAMPLES 3.times { puts "da" } ["paris", "france", "napoleon"].each { |name| puts name.capitalize } def say_hi_to(name) puts "Please to meet you, #{name}!" end say_hi_to("Mr. President") cost = 100 tax = 8.25 total = cost + tax puts total Monday, September 27, 2010
  7. 7. EVERYTHING IS AN OBJECT 1.class # => Fixnum 'a'.class # => String :z.class # => Symbol class Foo # something here end Foo.class # => Class Foo.new.class # => Foo Monday, September 27, 2010
  8. 8. DYNAMICALLY TYPED Basically, this means you don’t have to define things as integer or string before runtime. def foo(bar) bar * 2 end foo(1) # => 2 foo("a") # => "aa" Monday, September 27, 2010
  9. 9. DUCK TYPING If it looks like a duck, walks, like a duck, and quacks like a duck, then it’s probably a duck. "a".respond_to? :size # => true 1.respond_to? :+ # => true 1.respond_to? :inject # => false Monday, September 27, 2010
  10. 10. MORE EXAMPLES OF RUBY Strings name = 'Riverside' "Hello, #{name}!" Methods str = "Hello, Riverside" str.size # => 16 str.sub("Riverside", "World") # => "Hello, World!" Numbers 1 + 9 # => 10 Arrays [1, 2, 3] # => [1, 2, 3] Monday, September 27, 2010
  11. 11. MORE EXAMPLES OF RUBY Hashes options = {:name => "Riverside", :state => "CA"} Iterators [1,2,3].each {|n| puts n} # => 1 2 3 If/Elses if something == 2 # do something elsif something == 1 # do something else # do somthing else end Monday, September 27, 2010
  12. 12. ENTER SINATRA • Sinatra is a web framework built on top of Ruby. It’s kinda like Rails, but much lighter. You use it to build websites with Ruby. • [sudo] gem install sinatra • Gems are just a cool word for ‘libraries’ in the Ruby world. They contain packaged up code that do cool things. Rails is a gem, Sinatra is a gem, and nokogiri is a gem. You can find gems at http://rubygems.org Monday, September 27, 2010
  13. 13. PUT THIS IN YOUR PIPE Monday, September 27, 2010
  14. 14. AND SMOKE IT Monday, September 27, 2010
  15. 15. AND BLOW SMOKE RINGS Monday, September 27, 2010
  16. 16. RESOURCES • Ruby-Lang Homepage - http://www.ruby-lang.org/en/ • Windows Installer - http://rubyinstaller.org • Ruby Gems - http://rubygems.org • Sinatra - http://sinatrarb.com • E-Text Editor (windows users) - http://www.e-texteditor.com/ • Textmate (mac users) - http://macromates.com/ • Why’s Poignant Guide to Ruby - http://mislav.uniqpath.com/poignant-guide/ Monday, September 27, 2010

×