Diferença entre Classe normal e Singleton

Bom galera, estou começando a estudar Ruby, e me deparei com essa duvida.
Qual a diferença entre Classe normal e Singleton na hora de programa, tem diferença de performance? algo do tipo

Abraço

olá brunused,

na verdade singleton class, em ruby não é a mesma coisa que classes singleton em outras linguagens, na verdade cada objeto ruby possui uma classe associada que algums chamam de singleton class, ou class oculta veja faça o teste

[code]class Pessoa
end

bruno = Pessoa.new
outra_pessoa = Pessoa.new
aqui acesso a class singleton

def bruno.oi
puts "ola sou bruno "
end

bruno.oi => "ola sou bruno "
outra_pessoa.oi => erro aqui!! metodo não existe
[/code]

o que fiz foi adicionar a class singleton do objeto bruno um metodo que pertence apenas a esse objeto, isso acontece em todos os objetos em ruby, lembrando que classes em ruby também são objetos!! :shock: em relação a performance não vejo problema pois isso é o comportamento padrão da linguagem.

espero ter ajudado abraço

po cara, valeu, agora sim eu entendi melhor :smiley:

Vlw chara :smiley:

Fala brunused, da uma olhada nesse post:
http://blog.caelum.com.br/2010/03/10/metaprogramacao-eigenclass-em-ruby/
[]s

Dá uma olhada nesse screencast que tenta desmistificar isso na prática. A teoria disso é realmente não-trivial.

http://www.guj.com.br/posts/list/200820.java