---
title: roList
slug: develop/es/rolist
docTags: 
createdAt: 2025-03-11T07:07:17.200Z
---

Este objeto funciona como una lista doblemente enlazada de propósito general. Puede utilizarse como un contenedor para listas de longitud arbitraria de objetos BrightSign. El operador de matriz \[ ] puede utilizarse para acceder a cualquier elemento de una lista ordenada. 

## ifList

### Count() As Integer

Devuelve el número de elementos de la lista.

### ResetIndex() As Boolean

Restablece el índice o la posición actual de la lista al elemento de cabecera.

### AddTail(obj As Object) As Void

Agrega un valor tipado al final de la lista.

### AddHead(obj As Object) As Void

Agrega un valor tipado al principio de la lista.

### RemoveIndex() As Object

Elimina una entrada de la lista en el índice o posición actual e incrementa el índice o la posición en la lista. Devuelve `Inválido` cuando se alcanza el final de la lista.

### GetIndex() As Object

Recupera una entrada de la lista en el índice o posición actual e incrementa el índice o la posición en la lista. Devuelve `Inválido` cuando se alcanza el final de la lista.

### RemoveTail() As Object

Elimina la entrada al final de la lista.

### RemoveHead() As Object

Elimina la entrada al principio de la lista.

### GetTail() As Object

Recupera la entrada al final de la lista y mantiene la entrada en la lista.

### GetHead() As Object

Recupera la entrada al principio de la lista y mantiene la entrada en la lista.

### Clear()

Elimina todos los elementos de la lista.

## ifEnum

### Reset()

Restablece la posición al primer elemento de la enumeración.

### Next() As Dynamic

Devuelve un valor tipado en la posición actual e incrementa la posición.

### IsNext() As Boolean

Devuelve `Verdadero` si hay un siguiente elemento.

### IsEmpty() As Boolean

Devuelve `Verdadero` si no existe una instrucción exacta.

## ifArray

### Peek() As Dynamic

Devuelve la última entrada de la lista (índice más alto) sin eliminarla.

### Pop() As Dynamic

Devuelve la última entrada (índice más alto) y la elimina de la lista.

### Push(entry As Dynamic)

Agrega una nueva entrada con el índice más alto al final de la lista.

### Shift() As Dynamic

Elimina el índice cero de la lista y desplaza todas las demás entradas una unidad hacia abajo.

### Unshift(entry As Dynamic)

Agrega un nuevo índice cero a la lista y desplaza todas las demás entradas una unidad hacia arriba.

### Delete(index As Integer) As Boolean

Elimina la entrada de lista indicada y desplaza todas las entradas superiores una unidad hacia abajo.

### Count() As Integer

Devuelve la longitud de la lista (es decir, el índice de la entrada más alta de la lista más uno).

### Clear()

Elimina todas las entradas de la lista.

### Append(list As roList)

Anexa una *roList* a otra. Si la *roList* pasada contiene entradas a las que nunca se les asignó un valor, no se anexan.

:::hint{type="info"}
Los dos objetos anexados deben ser del mismo tipo.
:::

## ifArrayGet 

### GetEntry(a As Integer) As Dynamic

Devuelve una entrada de lista de un índice dado. Las entradas comienzan en cero. Si se recupera una entrada que no ha sido establecida, se devuelve Invalid.

## ifArraySet

### SetEntry(a As Integer, b As Dynamic)

Establece una entrada de un índice dado con el valor tipado pasado.

## Ejemplo

```text
list = CreateObject("roList")
list.AddTail("a")
list.AddTail("b")
list.AddTail("c")
list.AddTail("d") 
list.ResetIndex()
x= list.GetIndex()
while x <> invalid
print x
x = list.GetIndex()
end while 
print list[2]
```

