#uma classe já existente.
class Integer
#adicionando métodos a mesma.
def am(*args)
self == 12 ? 0 : self
end
def pm(*args)
self == 12 ? 12 : self +12
end
end
#veja que interessante o uso.
i = 4.pm
puts "4Pm = " << i.to_s #deve aparecer 4Pm = 16
i = 4.am
puts "4Am = " << i.to_s #deve aparecer 4Am = 4
#outro exemplo...
class String
def em_maisculo
self.upcase
end
end
puts "galaxy".em_maisculo
Esse recurso pode facilitar a escrita de interfaces fluente... imagine.
compromisso.adicionar("ler algo sobre ddd").comecando_as(2.Pm).ate_as(4.Pm).hoje()
* Exemplos inspirados numa apresentação de um trabalhador da throughworks.
Nenhum comentário:
Postar um comentário