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

Kon’Nichi Wa, Ruby - An introduction to Ruby with an appearance by Sinatra

Mot
December 04, 2011

Kon’Nichi Wa, Ruby - An introduction to Ruby with an appearance by Sinatra

A presentation on ruby to Riverside Ruby.

Mot

December 04, 2011
Tweet

More Decks by Mot

Other Decks in Technology

Transcript

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. DYNAMICALLY TYPED def foo(bar) bar * 2 end foo(1) #

    => 2 foo("a") # => "aa" Basically, this means you don’t have to define things as integer or string before runtime. Monday, September 27, 2010
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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