Ruby (nem tão) Básico

1,211 views
1,146 views

Published on

Palestra de introdução a Ruby feita por Bruno no 3º encontro do Frevo on Rails.

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

  • Be the first to like this

No Downloads
Views
Total views
1,211
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Ruby (nem tão) Básico

  1. 1. <ul><li>Desenvolve desde 2000 </li></ul><ul><li>Trabalhou com delphi,java,C </li></ul><ul><ul><li>Trabalha agora com Ruby </li></ul></ul><ul><ul><li>Auto-Didata </li></ul></ul><ul><ul><li>Louco por POO </li></ul></ul><ul><ul><li>Adora TDD </li></ul></ul><ul><ul><li>Não sabe css,alguém me ensina? </li></ul></ul><ul><li>  </li></ul>Eu
  2. 2. Ruby The Fodam! Language
  3. 3. Porque Ruby?
  4. 4. The Ruby Way NomesDeClasse nomes_de_metodos e nomes_de_variaveis metodos_fazendo_pergunta? metodos_perigosos! @variaveis_de_instancia @@variaveis_de_classe $variaveis_globais ALGUMAS_CONSTANTES ou OutrasConstante
  5. 5. Tudo é Objeto 0.zero? # => true 1.zero? # => false 1.abs # => 1 -1.abs # => 1 1.methods # => lista de metodos do objeto 1 10.class # => Fixnum String.class nil.class
  6. 6. Tipagem Forte Result = 1 + “2” TypeError: String can't be coerced into Fixnum from (irb):1:in `+' from (irb):1 from :0
  7. 7. Poo Ruby Open Class Mensagens Metodos Como Objetos Fabrica de Objetos Duck Type Modulos
  8. 8. Open Class Podemos abrir as classes e adicionar metodos! Class Homem attr_access :nome end class Mulher def amar puts 'amar' end end class Mulher def fazer_menino(homem) puts 'fazendo menino com #{homem.nome}' end end
  9. 9. Mensagens Um objeto em ruby envia mensagens, não chama metodos class ExecutorDeClasses def executar(obj,metodo) obj.send(metodo) end end exec = ExecutorDeClasses.new exec.executar Mulher.new,:amar
  10. 10. Como é? Objeto Tabela de Metodos
  11. 11. Duck Type class ImpostoEua def calcular puts &quot;imposto baixo&quot; end end class ImpostoBrasil def calcular puts 'imposto alto pra caralho!!' end end
  12. 12. Duck Type def calcular_imposto(objeto) objeto.calcular end calcular_imposto ImpostoEua.new calcular_imposto ImpostoBrasil.new
  13. 13. Um pequeno servidor
  14. 14. Ruby,Ruby,Ruby!! Obrigado!!

×