Racket cuenta con predicados, los cuales sirven para producir valores booleanos. Un ejemplo de predicado es el signo ">" que significa "mayor que..".
Suponga que define dos constantes, el ancho (width) y el alto (height):
(define width 100)
(define height 100)
Ahora utiliza el predicado ">" para producir un valor booleano:
(> width height)
Dado que width no es mayor que height, entonces se produce "falso" (false).
Tambien se puede usar el predicado "=" (igual que) para evaluar dos números, asi como "<" (menor que) o "<=" (menor o igual que).
Para comparar si dos cadenas de texto son iguales, se utiliza el predicado string=?
(string=? "foo" "bar")
Dado que "foo" y "bar" no son iguales, entonces se produce falso (false)
Tambien puede compararse el ancho de dos images. En el siguiente ejemplo, se crean dos constantes llamadas I1 e I2. Cada unas de estas representa un rectángulo. Para crear los rectángulos se usa la función rectangle, cuyos parametros son: ancho, alto, modo y color:
(require 2htdp/image)
(define I1 (rectangle 10 20 "solid" "red"))
(define I2 (rectangle 20 10 "solid" "blue"))
Posteriormente se compara si el ancho de I1 es menor que el ancho de I2. Para seleccionar el ancho de una imágen se utiliza la función image-width, cuyo parametro es la imágen a la cual se le desea conocer el ancho:
(< (image-width I1)
(image-width I2) )
Lo anterior produce verdadero (true), ya que el ancho de I1 es 10, el cual es menor al ancho de I2 que es 20.



No hay comentarios:
Publicar un comentario