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.

Changes between Initial Version and Version 1 of Ticket #1394


Ignore:
Timestamp:
Jan 16, 2012, 12:24:05 PM (13 years ago)
Author:
Víctor de Buen Remiro
Comment:

La función especial EvGlobalFind, que es la que evalúa las expresiones del tipo ::GlobalName está programada para devolver error en caso de usarse con el tipo Anything pues en puridad no tiene porqué haber un sólo objeto con ese nombre en el ámbito global con lo que no está resuelto de forma unívoca.

Lo cierto es que a ObjectExist no le importa si hay varios, lo importante es si hay alguno o no.

Por el momento he hecho un apaño para que el :: devuelva uno cualquiera pero debería salir un warning o algo para avisar de que hay más de uno.

En cualquier caso no se debería usar Anything cuando se sabe el tipo exacto porque en el mejor de los casos irá más lento.

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #1394 – Description

    initial v1  
    11Se encuentra una incoherencia al usar la función {{{ObjectExist}}} junto con el operador {{{::}}} y la gramática {{{Anything}}};
    22{{{
     3Real ObjectExist("Anything", "::Tolerance"); // => 0
    34Real ObjectExist("Anything", "Tolerance");   // => 1
    45Real ObjectExist("Real", "Tolerance");       // => 1
    5 Real ObjectExist("Anything", "::Tolerance"); // => 0
    66Real ObjectExist("Real", "::Tolerance");     // => 1
    77}}}