Artículo
· 16 oct, 2024 Lectura de 2 min

Funciones del "Lado Izquierdo" en ObjectScript

En ObjectScript, tenéis una amplia colección de funciones que devuelven algún valor, típicamente:

set variable = $somefunction(param1,param2, ...)

No hay nada especial en eso.  
Pero hay un conjunto de funciones que clasifico como del LADO IZQUIERDO.  
La especialidad de ellas es que también podéis usarlas a la izquierda del operador igual como un objetivo en el comando SET:

set $somefunction(param1,param2, ...) = value

La razón para plantear ese tema es que con IRIS 2024.1, después de muchos años, hay un "chico nuevo en el barrio".

$VECTOR()

Asigna, devuelve y elimina datos de vectores en posiciones específicas, especialmente.
set $VECTOR(MyVector , position , type) = value

No quiero entrar en detalles. La documentación es realmente completa.  
También hay 3 nuevas funciones relacionadas con vectores del lado derecho.
$VECTORDEFINED (),  $VECTOROP(), $ISVECTOR() 

Encontráis la descripción siguiendo los enlaces.

Si seguís los ejemplos en la documentación, veréis que la nueva función SQL relacionada TO_VECTOR() hace prácticamente lo mismo en notación SQL (de hecho, es visible en la referencia SQL de InterSystems).

Como recordatorio / resumen, una lista de las funciones tradicionales del lado izquierdo:

  • $BIT – Devuelve o establece el valor de un bit en una posición especificada en un bitstring.
  • $EXTRACT – Extrae una subcadena de una cadena de caracteres por posición, o reemplaza una subcadena por posición.
  • $LIST – Devuelve o reemplaza elementos en una lista.
  • $PIECE – Devuelve o reemplaza una subcadena, utilizando un delimitador.
  • $WEXTRACT – Extrae una subcadena de una cadena de caracteres por posición, o reemplaza una subcadena por posición, reconociendo pares de sustitución.

Es una lista corta, pero puede ser muy eficiente en algunos casos para evitar contenido duplicado y manipulaciones confusas.

Comentarios (1)1
Inicie sesión o regístrese para continuar