Opened 16 years ago
Last modified 16 years ago
#760 closed defect
Problemas con SetToNameBlock — at Version 1
Reported by: | Liván Ramírez Dorta | Owned by: | Víctor de Buen Remiro |
---|---|---|---|
Priority: | highest | Milestone: | |
Component: | Kernel | Version: | 2.0.1 |
Severity: | blocker | Keywords: | |
Cc: |
Description (last modified by )
Al ejecutar lo siguiente:
NameBlock Fun(Set s){ NameBlock k = SetToNameBlock(s) }; NameBlock KK = [[ NameBlock Eco = Fun({[[Text cod = "Eco"]]}); NameBlock Cli = Fun({[[Text cod = "Cli"]]}); NameBlock kk = Fun({[[Text cod = "kk"]]}) ]];
obtenemos el siguiente error:
ERROR: [1] Variable 'cod' ya definida como "k::cod "
Change History (1)
comment:1 Changed 16 years ago by
Description: | modified (diff) |
---|---|
Status: | new → accepted |
Note: See
TracTickets for help on using
tickets.
No hay ningún problema con la función
SetToNameBlock
El problema es del parser que "se traga" la llave en la combinación de paréntesis y llave consecutivas. Por este motivo se quedas las variables
cod
todas en el mismo ámbito y da error a partir der la segunda, simplemente porque ya existe. Es un viejo problema con difícil solución, ya lo he intentado varias veces sin éxito, pues si se prescinde del mecanismo que elimina esas llaves entonces fallan otras cosas. Sin embargo, es muy fácil evadirse de este problema, basta con escribirlo así:o así
No obstante, volveré a intentar una vez más que funcione esa combinación
({...})