HashCode

An organizer of symbols

Archive for October, 2007

Executive IT Meeting em Goiânia

Friday, October 26th, 2007


Gostaria de Convidar a todos a participarem do Executive IT Meeting l em Goiânia, 29..31 de outubro de 2007.
Vou representar a comunidade(espero ser capaz) :)
O meu amigo Alexandro Lima fez uma Charge para o evento.

palestra_rubi_contec.jpg

Nossa participação será no dia 31 na parte da tarde:

Palestra: Linguagem Ruby - Minerando e Lapidando.
Filosofia, idiossincrasia e pragmática da linguagem.

Tutorial: Ruby on Rails - Overview sobre o Framework do Ano.
Desenvolvendo um aplicação MVC em Rails.

Espero vcs lá hein! :)

gsub para vários valores

Monday, October 8th, 2007

Quando temos várias substituições em uma String não fica muito legal usarmos repetidas vezes o gsub! dizendo “substitua ‘isso’ por ‘aquilo’ “.
Criei um método simples para substituição em massa. Antes usava assim

s="Veja como escolher a primeira escola"
n=s.dup
n.gsub!("como","quando")
n.gsub!("escola","da festa")
n.gsub!(/^Veja/,'Saca só')
puts n #=> "Saca só quando escolher a primeira da festa"

Agora o método que faz a substituição

String.class_eval do
  def hash_sub(hash)
    new_string=self.dup
    hash.each{|k,v| new_string.gsub!(k,v)}
    new_string
  end
end

No hash a chave será substituida pelo valor, sendo a chave um Regexp ou uma String. Exemplo:

s="Veja como escolher a primeira escola"
n=s.hash_sub 'como' => 'quando', 'escola' => 'da festa', /^Veja/ => "Saca só"
puts n #=> "Saca só quando escolher a primeira da festa"