Opened 15 years ago
Closed 15 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 15 years ago by
| Resolution: | → fixed |
|---|---|
| Status: | new → closed |
comment:2 Changed 15 years ago by
| Resolution: | fixed |
|---|---|
| Status: | closed → reopened |
El método para NameBlocks no funciona adecuadamente, siempre devuelve cierto.
Puede probarse como ejemplo esto:
Real SameNameBlock(StdLib::Tpa, StdLib::SqlEngine);
comment:4 Changed 15 years ago by
| Resolution: | → fixed |
|---|---|
| Status: | reopened → closed |

(In [3262]) Fixes #1114