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;
