Mantener elementos de una lista

En esta página, usarás predicados con el bloque mantener para mantener elementos en una lista que tienen características específicas.

Como ya sabes, los predicados se pueden usar con condicionales para decidir cuándo hacer algo; también se pueden usar con mantener para decidir cuáles elementos deben quedarse en la lista. Los bloques mantener los elementos de 'ranura de entrada de predicado' de 'ranura de entrada de lista' toman una lista y un predicado como entrada, y reportan una nueva lista manteniendo solo los elementos de la lista de entrada que hacen que la condición del predicado sea verdadera.

Por ejemplo, la siguiente expresión encontrará palabras de la lista de palabras que tienen v como su primera letra. El espacio de entrada en blanco es donde se coloca cada elemento de la lista para decidir si mantenerlo.
mantener los elementos donde ((letra(1) de ( )) = (v)) de (lista de palabras)

: Cadena e índice

Tú escribes el predicado que realiza la verificación; mantener aplica el predicado a cada elemento de la lista de entradas y luego reporta la lista de elementos que hacen que el predicado sea verdadero.

Ten en cuenta que el espacio de entrada en blanco en el predicado es requerido; aquí es donde va cada elemento de la lista cuando el predicado lo comprueba.

El bloque letra en la paleta se parece a letra (1) de (mundo). Tienes que eliminar el "mundo" para hacer que haya un espacio en blanco donde lo necesites.
  1. Haz clic para cargar un proyecto nuevo. Entonces guárdalo.
    Este proyecto contiene dos ejemplos de expresiones mantener y un procedimiento inicializar lista (puedes mirar adentro para ver lo que hace).
  2. Habla con tu compañero Experimenta con estos ejemplos de mantener. Discute y luego explica por escrito qué significan estas expresiones.
    mantener los elementos ((longitud de ()) = (5)) de {manzana, plátano, naranja, uva, kiwi, mango, sandía} reporta {mango}
    mantener los elementos (no(es () un (número)?)) de {5, :), seis, 7, elefante, 3} reporta {5,7,3}

El primer ejemplo mantiene entradas de cierta longitud; por cada palabra de la lista se le pregunta si su longitud es 5, y solo se mantienen las que tienen cinco letras. El segundo ejemplo mantiene entradas que no son números; a cada elemento de esta lista se le pregunta "¿Este elemento no es un número?" y solo se mantienen los elementos que no son números.

Hay dos bloques de longitud en Snap!. Una (longitud ()) está diseñada para cadenas y la otra(longitud ()) para listas.

  1. Si no ves una lista de palabras en el escenario, ejecuta inicializar lista. Luego usa mantener para responder estas preguntas:
    1. ¿Cuántas palabras de 12 letras hay en la lista de palabras?
    2. ¿Cuántas palabras de 15 letras hay en la lista de palabras?
    3. ¿Cuántas palabras de 17 letras hay en la lista de palabras?