Oi,

On 6/5/06, Faztar Jilvor <[EMAIL PROTECTED]> wrote:
Ola a todos,

Eu gostaria de saber se existe diferença entre fazer

  module Foo::Bar::Baz::Quux
    def (Foo::Bar::Baz::Quux).faz_algumacoisa
    end
  end

e fazer

  module Foo::Bar::Baz::Quux
    def self.faz_algumacoisa
    end
  end

Eu vi alguns codigos que utilizavam a primeira, mas nao achei nada
legivel e nada facil de se fazer buscas com grep, por exemplo.

O que voces acham?

Bom, eu mesmo não uso nenhuma das duas, mas entendo que seja
atalho para evitar uma indentação muito grande. Quer dizer, em vez de
se digitar:

module Foo
  module Bar
    module Baz
      module Quux
      end
    end
  end
end

Digita-se uma das duas formas que você colocou acima.

Quando eu comecei em Ruby, cheguei a usar alguns "self." da
sua segunda opção, mas depois comecei a preferir o primeiro jeito,
colocando o nome do módulo na frente do método. No seu caso,
a diferença é que coloca-se mais módulos aninhados. :-)

Depende-se de preferência pessoal, acho. Acho que grep pode ajudar
em ambos os casos, basta aninhar o grep pra filtrar o que você quiser:

grep -r nome_metodo * | grep Quux

Ou algo assim.

Sds,
Joao
_______________________________________________
Ruby-l mailing list
[email protected]
http://www.listas.unicamp.br/mailman/listinfo/ruby-l

Responder a