close Warning: Can't synchronize with repository "(default)" (/var/svn/tolp does not appear to be a Subversion repository.). Look in the Trac log for more information.

Opened 14 years ago

Closed 14 years ago

#1114 closed enhancement (fixed)

Determine whether two objects are the same

Reported by: Pedro Gea Owned by: Víctor de Buen Remiro
Priority: normal Milestone: Mantainance
Component: Kernel Version: head
Severity: normal Keywords:
Cc:

Description

Se solicita una función que permita determinar si dos objetos son el mismo o no.

Concretamente este método tiene significado como tal sólo para los objetos que se asignan por referencia como son los NameBlock o los Set.

Hasta ahora para esto utilizo algo tan poco general y elegante como comparar la dirección de memoria de uno de sus atributos:

//////////////////////////////////////////////////////////////////////////////
Real SameObject(NameBlock obj1, NameBlock obj2)
//////////////////////////////////////////////////////////////////////////////
{
  Text add1 = GetAddressFromObject(obj1::_.name);
  Text add2 = GetAddressFromObject(obj2::_.name);
  add1==add2
};

Se busca saber si los dos objetos son el mismo o no (si uno cambia, el otro también), y no si son iguales o equivalentes.

Se espera que el método sólo pueda devolver dos respuestas: True o False

Change History (4)

comment:1 Changed 14 years ago by Víctor de Buen Remiro

Resolution: fixed
Status: newclosed

(In [3262]) Fixes #1114

comment:2 Changed 14 years ago by Pedro Gea

Resolution: fixed
Status: closedreopened

El método para NameBlocks no funciona adecuadamente, siempre devuelve cierto.
Puede probarse como ejemplo esto:

Real SameNameBlock(StdLib::Tpa, StdLib::SqlEngine);

comment:3 Changed 14 years ago by Víctor de Buen Remiro

(In [3274]) Refs #1114

comment:4 Changed 14 years ago by Víctor de Buen Remiro

Resolution: fixed
Status: reopenedclosed

(In [3275]) Fixes #1114

Note: See TracTickets for help on using tickets.