listas
crear y manipular listas
combinar
consulte la documentación original de Racket para 'cons'
(combinar a b) → lista
a: cualquier tipo
b: lista
(combinar a b) → par
a: cualquier tipo
b: cualquier tipo
devuelve un par recién asignado cuyo primer elemento es a y el segundo elemento es b. cuando b es una lista, el par
asignado también es una lista
combinar es realmente la única forma de añadir elementos a las listas en Scheme
ejemplos:
g-t (combinar 1 2)
g-t (1 . 2)
g-t (combinar 1 '(2))
g-t (1 2)
g-t (combinar '(1 2) '(3 4))
g-t ((1 2) 3 4)
g-t (combinar 1 '())
g-t (1)
pri
consulte la documentación original de Racket para 'car'
(pri v) → cualquier tipo
v: par
devuelve el primer elemento del par v
es obligatorio que v sea un par/ una lista
ejemplos:
g-t (pri '(1 2))
g-t 1
g-t (pri '(1 . 2))
g-t 1
g-t (pri '((2) 2))
g-t (2)
g-t (pri '(2 (2)))
g-t 2
res
consulte la documentación original de Racket para 'cdr'
(res v) → cualquier tipo
v: par
devuelve el segundo elemento del par v
ejemplos:
g-t (res '(1 2))
g-t (2)
g-t (res '(1 (2)))
g-t ((2))
g-t (res '(1))
g-t ()
g-t (res '())
resVDCError
longitud
consulte la documentación original de Racket para 'length'
(longitud v) → número entero no negativo
v: lista
devuelve el número de elementos en v. esta función toma un tiempo proporcional a esa longitud
ejemplos:
g-t (longitud '())
g-t 0
g-t (longitud '(1 2 3 4 5))
g-t 5
g-t (longitud (lista 1 2 3))
g-t 3
juntar
consulte la documentación original de Racket para 'append'
(juntar v ...) → lista
v: lista
(juntar v ... w) → lista
v: lista
w: cualquier tipo
cuando se proporcionan solo listas como argumentos, el resultado es una lista que contiene todos los elementos de las listas dadas en orden
el último argumento no necesita ser una lista. en este caso, el resultado es una "lista impropia"
esta función toma un tiempo proporcional a la suma de las longitudes de todos los arguementos, excepto el último
ejemplos:
g-t (juntar (lista 1 2) (lista 3 4))
g-t (1 2 3 4)
g-t (juntar (lista 1 2) (lista 3 4) (lista 5 6) (lista 7 8))
g-t (1 2 3 4 5 6 7 8)
g-t (juntar '(1 2) 3)
g-t (1 2 . 3)
g-t (juntar '(2) '(3) '(4) 5)
g-t (2 3 4 . 5)
g-t (juntar '(3))
g-t (3)
g-t (juntar 4)
g-t 4
g-t (juntar)
g-t ()
lista
consulte la documentación original de Racket para 'list'
(lista v ... ) → list
v: cualquier valor
devuelve una lista recién asignada que contiene los v como sus elementos
ejemplos:
g-t (lista)
g-t ()
g-t (lista 1 2 3)
g-t (1 2 3)
g-t (lista (lista 1 2) (lista 1 2))
g-t ((1 2) (1 2))
¿lista?
consulte la documentación original de Racket para 'list?'
(¿lista? v ...) → booleano
v: cualquier tipo
devuelve cierto si v es una lista: ya sea la lista vacía, o un par cuyo segundo elemento es una lista
ejemplos:
g-t (¿lista? 1)
g-t falso
g-t (¿lista? '(1 2 3))
g-t cierto
g-t (¿lista? "lista")
g-t falso
g-t (¿lista? '(1 . (2)))
g-t cierto
g-t (¿lista? '())
g-t cierto
¿par?
consulte la documentación original de Racket para 'pair?'
(¿par? v ...) → booleano
v: cualquier tipo
devuelve cierto si v es un par, falso en caso contrario
ejemplos:
g-t (¿par? 1)
g-t falso
g-t (¿par? (combinar 1 2))
g-t cierto
g-t (¿par? (lista 1 2))
g-t cierto
g-t (¿par? '(1 2))
g-t cierto
g-t (¿par? '(1 . 2))
g-t cierto
g-t (¿par? '())
g-t falso
¿nulo?
consulte la documentación original de Racket para 'null?'
desc
ejemplos:
prri
consulte la documentación original de Racket para 'caar'
desc
ejemplos:
prrri
consulte la documentación original de Racket para 'caaar'
desc
ejemplos:
prrrri
consulte la documentación original de Racket para 'caaaar'
desc
ejemplos:
ress
consulte la documentación original de Racket para 'cddr'
desc
ejemplos:
resss
consulte la documentación original de Racket para 'cdddr'
desc
ejemplos:
ressss
consulte la documentación original de Racket para 'cddddr'
desc
ejemplos:
pres
consulte la documentación original de Racket para 'cadr'
desc
ejemplos:
resp
consulte la documentación original de Racket para 'cdar'
desc
ejemplos: