Your SlideShare is downloading. ×
Ruby 101 && Coding Dojo
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Ruby 101 && Coding Dojo

661
views

Published on

https://github.com/guiocavalcanti/ruby-101-dev-day

https://github.com/guiocavalcanti/ruby-101-dev-day

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
661
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Ruby 101Redu-dev team
  • 2. Ruby 101• A dynamic, object oriented (really) open source programming language with a focus on simplicity and productivity.
  • 3. irb• Stands for interactive ruby• For pythonists it’s an common concept• For Java programmers is like a bash session within the interpreter
  • 4. Dynamically typed• Types are bound to values not to variables 1 my_var = "string" 2 my_var = 12
  • 5. Everything is an object• Really 1 20.to_s # "20" 2 3 100.times do 4 puts "100 is an object" 5 end 6 # "100 is an object", "100 is an object"
  • 6. Dynamic language• Some actions happens at runtime 9 class Person10 def say_hello 21 p = Person.new11 "hello" 22 p.say_hello12 end 23 # hello13 end 24 p.say_goodye14 25 # goodbye15 class Person16 def say_goodye17 "goodbye"18 end19 end
  • 7. Methods 8 def my_method(arg, arg2="default") 9 "always returning the last line"10 end
  • 8. Control structures30 if a > b 40 result = if a > b31 "a is greater than b" 41 "a is greater than b"32 else 42 else33 "a isnt greater than b" 43 "a isnt greater than b"34 end 44 end
  • 9. Hashes• For pythonists: dictionaries• For Java programmers: associative arrays46 concepts = { "ruby" => "programming", "learning" =>"education" }47 concepts["ruby"]
  • 10. Symbols• A symbol is something that you use to represent names. What this boils down to is a way to efficiently have descriptive names while saving the space one would use to generate a string for each naming instance.
  • 11. 49 concepts = { :ruby => "programming", :learning=> "education" }
  • 12. Blocks/Procs• Way to pass around chunks of code 51 def new_method(arg="default", &block) 52 puts "the arg is: #{arg}" 53 block.call 54 end 55 56 new_method do 57 puts "Callback" 58 end 59 60 # the arg is: default 61 # Callback
  • 13. Symbols• Usually used as hashes keys
  • 14. Dojo• With TDD (Test driven development)• A non-sense problem to be solved collaboratively• Tools • RSpec • Bundler • RVM