Ruby "é" equivalente

votos
6

Existe um equivalente Ruby para Python do é? Ele testa se dois objetos são idênticos (ou seja, têm a mesma posição de memória).

Publicado 30/08/2008 em 04:04
fonte usuário
Em outras línguas...                            


2 respostas

votos
12

Usar a.equal? b

http://www.ruby-doc.org/core/classes/Object.html

Ao contrário ==, o igual? método nunca deve ser substituído por subclasses: ele é usado para determinar a identidade de objeto (isto é, a.equal (b) sse um é o mesmo objeto como b?).

Respondeu 30/08/2008 em 04:06
fonte usuário

votos
2

Você também pode usar __id__. Isso lhe dá a objetos número interno de identificação, que é sempre único. Para verificar se a objetos são o mesmo, tente

a.__id__ = b.__id__

Isto é como biblioteca padrão do Ruby faz isso, tanto quanto eu posso dizer (ver group_by, entre outros).

Respondeu 02/09/2008 em 10:02
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more