potenciales
evaluar condiciones para determinar si son ciertos o falsos y realizar operaciones en función del resultado
cierto
consulte la documentación original de Racket para '#t'
cierto es el valor booleano de verdad devuelto si un procedimiento o valor se evalúa como cierto
ejemplos:
g-t (¿ig? 2 (más 1 1))
cierto
g-t (¿booleano? cierto)
cierto
g-t (¿booleano? falso)
cierto
g-t (¿booleano? "no")
falso
g-t (o cierto falso)
cierto
g-t (y cierto falso)
falso
g-t (si "no" 1 0)
0
falso
consulte la documentación original de Racket para '#f'
falso es el valor booleano de verdad devuelto si un procedimiento o valor se evalúa como falso
ejemplos:
g-t (¿ig? 2 (más 1 1))
cierto
g-t (¿booleano? cierto)
cierto
g-t (¿booleano? falso)
cierto
g-t (¿booleano? "no")
falso
g-t (o cierto falso)
cierto
g-t (y cierto falso)
falso
g-t (si "no" 1 0)
0
si
consulte la documentación original de Racket para 'if'
(si expr-de-prueba entonces-expr sino-expr)
si la expresión de prueba se evalúa como verdadera, evalúa la 'entonces-expr'; de lo contrario, evalúa la 'sino-expr'
evalúa la expr-de-prueba. si produce cualquier valor otro distinto de 'falso', se evalúa entonces-expr, y sus resultados son el resultado de
la condición 'si'. de lo contrario, se evalúa sino-expr, y sus resultados son el resultado de la condición 'si'. la entcones-expr y la sino-expr
están en posición de cola con respecto a la condición 'si'
ejemplos:
g-t (si (¿positivo? -5) 1 2)
2
g-t (si (¿positivo? 5) 1 2)
1
g-t (si 'no-hay-plátanos "sí" "no")
"no"
condición
consulte la documentación original de Racket para 'cond'
(condición cláusula-condicional ...)
cláusula-condicional = [expr-de-prueba cuerpo-de-entonces-expr ...+]
[sino cuerpo-de-entonces-expr]
una cláusula-condicional que comienza con sino debe ser la última cláusula-condicional
si no hay cláusulas condicionales, el resultado es #<void>
se evalúa la primera expr-de-prueba. si produce falso, el resultado es el mismo que una forma de condición
con solo las cláusulas condicionales restantes, en posición de cola con respecto a la forma cond original
si solo hay una [sino cuerpo-de-entonces-expr], se evalúa la cuerpo-de-entonces-expr. los resultados de la
cuerpo-de-entonces-expr, que está en posición de cola con respecto a la forma condición, son los resultados de toda
la forma condición
ejemplos:
g-t (condición)
g-t (condición
[sino 5])
5
g-t (condición
[(¿positivo? 5) 'aquí]
[(¿cero? -5) (error "no llega aquí")]
[(¿positivo? 5) (error "tampoco no llega aquí")])
aaquí
g-t (condición
[(¿positivo? -5) (error "no llega aquí")]
[(¿cero? -5) (error "tampoco llega aquí")]
[(¿positivo? 5) 'aquí])
aaquí
g-t (definir número-máximo
(lambda (xx yy)
(condición
((más-de xx yy) xx)
((¿ig? xx yy) (error "no hay un número máximo"))
(sino yy))))
g-t (número-máximo 1 2)
2
g-t (número-máximo 2 1)
2
g-t (número-máximo 1 1)
nno hay un número máximo
sino
consulte la documentación original de Racket para 'else'
(condición
. . .
(sino expr)
reconocido solo dentro de la forma condición. sino como una expresión fuera de una forma de condición no existe
ejemplos:
g-t (definir número-máximo
(lambda (xx yy)
(condición
((más-de xx yy) xx)
((¿ig? xx yy) (error "no hay un número máximo"))
(sino yy))))
g-t (número-máximo 1 2)
2
y
consulte la documentación original de Racket para 'and'
si solo hay una expr, entonces está en posición de cola, por lo que los resultados de la expresión y son los resultados de la expr
de lo contrario, se evalúa la primera expr. si produce falso, el resultado de la expresión y es falso. si no, el resultado es el mismo
que una expresión y con las expr restantes en posición de cola con respecto al original expresión y
ejemplos:
g-t (y 1)
1
g-t (y cierto falso)
falso
g-t (y cierto 5)
5
g-t (y falso 5)
falso
o
consulte la documentación original de Racket para 'or'
si solo hay una expr, entonces está en posición de cola, por lo que los resultados de la expresión o son los resultados de la expr
de lo contrario, se evalúa la primera expr. si produce un valor distinto de falso, el resultado es el resultado de la expresión or. si no,
el resultado es el mismo que una expresión or con las expr restantes en posición de cola con respecto al original expresión o
ejemplos:
g-t (o 1)
1
g-t (o cierto falso)
cierto
g-t (o falso falso)
falso
g-t (o cierto 5)
cierto
g-t (o falso 5)
falso
¿falso?
consulte la documentación original de Racket para 'false?'
devuelve lo opuesto a v (valor booleano)
ejemplos:
g-t (¿falso? 5)
falso
g-t (¿falso? falso)
cierto
g-t (¿falso? cierto)
falso
g-t (¿falso? (y cierto falso))
cierto
g-t (¿falso? (o cierto falso))
falso
¿cierto?
este procedimiento no existe en la versión original de Racket
devuelve cierto si v no se evalúa como falso, falso en caso contrario. solo devuelve falso si v se evalúa como falso, sin importar la entrada.
ejemplos:
g-t (¿cierto? 5)
cierto
g-t (¿cierto? cierto)
cierto
g-t (¿cierto? falso)
falso
g-t (¿cierto? (o cierto falso))
cierto
g-t (¿cierto? (menos 3 1))
cierto