Información general

Ninox es un lenguaje tipado y precompilado. Es decir, los tipos de datos que maneja el lenguaje se conocen de antemano, a diferencia de otros lenguajes como JavaScript, que pueden manejar variables sin conocer su tipo.

Una de las grandes ventajas de Ninox es que el código que genera resulta especialmente fiable, con fallos que solo se producen en contadas ocasiones.

Para su información, el script de Ninox se compila a JavaScript antes de ejecutarse.

Código anidado y código lineal

Cada función o instrucción devuelve un valor que se puede pasar directamente como parámetro a otra función o instrucción:

var a := format(now(), "DD/MM/YYYY");

Así, es posible asignar a una variable un conjunto de código anidado:

var a := true;
var b := if a then "true" else "false";

También se puede asignar a b el resultado de un bloque de código lineal encerrado entre paréntesis:

var b := (
    var a := true;
    if a then "true" else "false" end
);

Conviene tener presente que, en el caso del código lineal, la última línea determina siempre el tipo y el valor devueltos. En este ejemplo, b valdrá 10:

var b := (
    var a := true;
    if a then "true" else "false" end;
    10
);

Métodos

Los métodos son funciones que reciben uno o varios parámetros y devuelven un valor. Tanto los parámetros como el valor devuelto están predefinidos.

Algunos métodos admiten varias configuraciones de parámetros:

  • date(year, month, day)
    Devuelve un valor de fecha.
  • date(myTimeValue)
    Convierte en fecha un valor temporal dado. Si el valor es un número, representa el tiempo Unix en milisegundos.

Consulte la documentación oficial de Ninox para ver la lista completa de métodos y su clasificación por categorías.

Instrucciones

var, if then else, for, switch, select where, etc., son instrucciones.

A diferencia de los métodos, el tipo devuelto por una instrucción depende del código que contiene. Por ejemplo, el código siguiente devolverá un array de números [1, 2]:

for i in range(1,3) do
  i;
end;