FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
¿Que esta indicando esta expresión?
Hola, navegando por Internet, encontré un código de lista de punteros y me surgió curiosidad de la forma en que escribió una sentencia de WHILE, donde la variable bandera es un booleano:
yo siempre estaba acostumbrado a poner o esta
¿que significa cuando la variable esta sola? acá el código completo, ordena la lista de menor a mayor según la información de los nodos:
|
#3
|
||||
|
||||
Hola franco_cvm.
El tipo Boolean enumera los valores verdadero o falso. Cuando en Delphi haces una comparación del tipo, de "(a = b)" se obtiene un resultado que puede ser verdadero o falso según sean los contenidos de 'a' y 'b'. Supongamos que, la variable "B" recoge un valor (que es True en el código anterior) y ya debes ver claro que: B = (5 = 5) = True. Entonces la construcción, si bién no es sintácticamente incorrecta, es redundante. Una variable de tipo booleana almacena la conclusión de una o mas premisas, y su resultado puede ser bivalente (True o False). De allí que es reiterativo evaluar la igualdad por verdadero o falso si la variable ya posee ese valor. Resumiendo, si B tiene el valor True hacer: tiene el mismo resultado que:
Del mismo modo que si B tiene el valor False hacer: tiene el mismo resultado que: Y aunque el compilador es generoso, mi consejo es que no uses el modo redundante. Saludos Edito: No había visto el mensaje de Agustín mientras escribía pero es la misma idea.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 17-06-2015 a las 09:46:17. |
#4
|
|||
|
|||
Graciass
lo que no entiendo es porque si pongo:
Cita:
|
#5
|
||||
|
||||
Hola franco
Cita:
Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#6
|
||||
|
||||
Después de la generosa explicación de ecfisa y con lo ya dicho por AgustinOrtu, difícilmente podría yo agregar algo importante. Baste decir que donde quiera que se espere una expresión Boolean, es decir, un fragmento de código que se evaluará o ejecutará dando por resultado un valor de falso o verdadero, puede ser colocada tanto una llamada a una función de resultado Boolean, como una variable o propiedad de tipo Boolean sola, o bien una combinación de otras expresiones (usando paréntesis y And, Or, etc.).
En la sentencia la expresión Boolean es: IsUpperCase ('ABC') En la sentencia la expresión Boolean es: IsUpperCase ('ABC') = True Al If entrará si la expresión evalúa a (resulta en) True. Así que si "IsUpperCase ('ABC')" es ya una expresión falso/verdadero, entonces no hay necesidad de hacer más compleja esa expresión añadiéndole una comparación con el signo de igual y la constante True ("IsUpperCase ('ABC') = True"). Ese If sería válido incluso si escribieras: Pero es mejor escribir código conciso: Y, como dije antes, lo mismo aplica a una variable o propiedad Boolean: De este modo, evitamos recargar a la aplicación con ciclos de CPU innecesarios, o, en caso de que el compilador simplifique las expresiones redundantes, al menos no ofuscamos el código fuente, dejándolo un poco más limpio y fácil de leer. Al González. |
#7
|
||||
|
||||
Agregando, también suele ser muy útil usar el tipo Boolean en los constant arrays para alternar valores de acuerdo a una condición:
Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
El arroz que está llegando a nuestras mesas no está autorizado para consumo humano | sakuragi | La Taberna | 5 | 13-10-2013 00:07:14 |
Ayuda con error! expresion demasiado compleja en la expresion de consulta | escorpionrojo43 | SQL | 8 | 16-07-2011 22:03:16 |
Está bien esta consulta Select count? | enecumene | MySQL | 12 | 30-08-2007 03:54:29 |
¿Está mal escrito? | Perberos | Varios | 1 | 06-05-2006 10:32:17 |
Que está mal ? | jwmoreira | PHP | 3 | 04-05-2005 19:32:29 |
|