Informacje ogólne

Ninox jest językiem typowanym i prekompilowanym. Oznacza to, że typy danych obsługiwane przez język są znane z góry, inaczej niż w językach takich jak JavaScript, które radzą sobie ze zmiennymi bez znajomości ich typów.

Jedną z głównych zalet Ninox jest to, że generowany kod jest wyjątkowo niezawodny, a usterki zdarzają się bardzo rzadko.

Dla informacji: skrypt Ninox jest przed wykonaniem kompilowany do JavaScriptu.

Kod zagnieżdżony i liniowy

Każda funkcja i każda instrukcja zwraca wartość, którą można bezpośrednio przekazać jako parametr do innej funkcji lub instrukcji:

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

Dzięki temu można przypisać do zmiennej cały zestaw zagnieżdżonego kodu:

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

Do b można też przypisać wynik bloku kodu liniowego ujętego w nawiasy:

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

Trzeba pamiętać, że w kodzie liniowym to ostatni wiersz zawsze decyduje o zwracanym typie i wartości. W tym przykładzie b będzie równe 10:

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

Metody

Metody to funkcje, które przyjmują jeden lub więcej parametrów i zwracają wartość. Zarówno parametry, jak i wartość zwracana są z góry określone.

Niektóre metody mogą mieć kilka układów parametrów:

  • date(year, month, day)
    Zwraca wartość typu data.
  • date(myTimeValue)
    Zamienia podaną wartość związaną z czasem na wartość typu data. Jeśli wartość jest liczbą, oznacza czas uniksowy w milisekundach.

Pełną listę metod oraz ich podział na kategorie znajdą Państwo w oficjalnej dokumentacji Ninox.

Instrukcje

var, if then else, for, switch, select where itp. to instrukcje.

W odróżnieniu od metod typ zwracany przez instrukcję zależy od kodu, który ona zawiera. Na przykład poniższy kod zwróci tablicę liczb [1, 2]:

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