← Todos los tutoriales
language-deep-dive 6 min

Operaciones con Listas

Las listas son el tipo de secuencia de Clean Language. Crecen dinámicamente, contienen elementos de un tipo y tienen un conjunto predecible de operaciones. Una vez que conoces el patrón de lista — añadir, acceder, iterar — puedes manejar cualquier colección.

Crear, agregar, acceder y medir una lista:

start:\n    list fruits = []\n    fruits.add("apple")\n    fruits.add("banana")\n    fruits.add("cherry")\n\n    print("Count: " + fruits.length().toString())\n    print("First: " + fruits[0])\n    print("Last: " + fruits[fruits.length() - 1])\n    print("Has banana: " + fruits.contains("banana").toString())\n    print("Has grape: " + fruits.contains("grape").toString())
Count: 3\nFirst: apple\nLast: cherry\nHas banana: true\nHas grape: false

Empieza con una lista vacía [] y especifica el tipo de elemento en la declaración. .add() agrega al final. El acceso por índice [n] obtiene un elemento específico (comenzando en 0). .length() devuelve el conteo. .contains() devuelve un boolean — úsalo directamente en condiciones if.

Construye listas dinámicamente y búscalas:

start:\n    list squares = []\n    iterate n in 1 to 8\n        squares.add(n * n)\n\n    string target = "36"\n    integer found_at = -1\n    iterate i in 0 to squares.length() - 1\n        if squares[i].toString() == target\n            found_at = i\n\n    if found_at >= 0\n        print(target + " found at index " + found_at.toString())\n    else\n        print(target + " not found")
36 found at index 5

Construye una lista dinámicamente llamando a .add() dentro de un iterate. Búscala iterando con un índice, comprobando cada elemento y registrando la posición. Este patrón contar-luego-iterar funciona para cualquier lista de cualquier tamaño.

Resumen rápido

  • Declara como list donde T es el tipo de elemento: list, list
  • .add(valor) agrega al final de la lista
  • [n] accede al elemento en el índice n — el primero es [0], el último es [.length() - 1]
  • .contains(valor) devuelve boolean — seguro para usar directamente en condiciones if
¡Copiado!