# Interfaz de programación de guiones para todas las estructuras de datos

## Objeto de estructura de datos abstractos

La estructura de datos abstractos define una conjunto de elementos de datos y posibles conexiones entre ellos; este es el prototipo para cualquier otra estructura de datos. Las estructuras de datos se identifican por sus nombres. Suponiendo que ha creado una estructura de datos con el nombre `testgraph`, puede acceder a ella escribiendo su identificador. Por ejemplo, para obtener un array con todos los elementos de datos de la estructura de datos indicada, puede escribir `testgraph.list_nodes()` en el guion.

### Propiedades

- nombre :

  El nombre único de esta estructura de datos.

## Datos abstractos

Un elemento de datos abstractos es una unidad de información que pertenece a una estructura de datos abstractos y está posiblemente conectado a otros elementos de datos mediante punteros.

### Propiedades

- anchura :

  El tamaño de este elemento de datos.

- x :

  La coordenada X de este elemento de datos.

- y :

  La coordenada Y de este elemento de datos.

- id :

  El identificador único de este elemento de datos.

- color :

  El color de este elemento de datos indicado como valor hexadecimal.

## Puntero abstracto

Un puntero conecta dos elementos de datos y puede contener información en sus propiedades.

### Propiedades

- anchura :

  El ancho de la conexión.

- dirigido :

  Si es «true», la conexión está dirigida. En caso contrario, la conexión no está dirigida.

- desde :

  Inicio de la conexión.

- hasta :

  Fin de la conexión

- color :

  ID del tipo de conexión.

### Métodos

remove()

- Eliminar esta conexión.

      void remove

add_property(nombre, valor)

- Añadir una nueva propiedad a la conexión.

      void add_property string nombre string valor

remove_property(nombre)

- Eliminar una propiedad existente de la conexión.

      void remove_property string nombre