Skip to content

Instantly share code, notes, and snippets.

@salvianoo
Created December 3, 2011 12:28
Show Gist options
  • Save salvianoo/1427014 to your computer and use it in GitHub Desktop.
Save salvianoo/1427014 to your computer and use it in GitHub Desktop.
Duck Typing Ruby - simple sample
class Livro
attr_accessor :titulo, :lancamento, :autor
def initialize(titulo, lancamento, autor)
self.titulo = titulo
self.lancamento = lancamento
self.autor = autor
end
end
class Filme
attr_accessor :titulo, :lancamento, :autor
def initialize(titulo, lancamento, autor)
self.titulo = titulo
self.lancamento = lancamento
self.autor = autor
end
end
def linha(midia)
puts "Titulo: #{midia.titulo}, Autor: #{midia.autor}, Lancamento: #{midia.lancamento}"
end
filme = Filme.new "Quase Famosos", 2000, "Cameron Crowe"
livro = Livro.new "Maos de Cavalo", 2006, "Daniel Galera"
[filme, livro].each do |midia|
linha(midia)
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment