открыть: Синтаксис 2Syntax 1

Простые типы

$null

Значение null в ksi записывается так: #.

n = # -- null n #is $null ? 'n is null' #echo # ; -- условие правдиво для n

$bool

Булевы значения – это #1 для true и #0 для false.

a = #1 -- true (правда) b = #0 -- false (ложь) b #not # ? 'b is not true' #echo# ; -- условие верно для b

Смотри также: Логические операторы

$int

a = 10 -- целое число b = 10_ -- отрицательное целое число c = 0b101 -- Двоичное целое число d = 0o777 -- Восьмеричное целое число e = 0hfFf_ -- Отрицательное шестнадцатеричное целое число

Предопределённые целочисленные константы:

$int.min# -- минимальное целое значение $int.max# -- максимальное целое значение

$float

Литерал дробного числа содержит точку.

a = 10.5 -- дробное число b = 10.0_ -- отрицательное дробное число c = 1.1e+27 d = 0.0123e-4_

Предопределённые константы с плавающей точкой:

$float.min# $float.max# $float.inf# -- infinity (плюс бесконечность) $float.inf_# -- минус бесконечность $float.nan# -- not-a-number $float.pi# $float.e#

Смотри также: Арифметические операторы

$type

В ksi тип переменной может быть значением.

n = $null

Для определения типа переменной (или выражения) используется native-функция #type. Или в конце переменной ставится символ $.

n = # type = n #type # type #echo # -- выдаст 'null' "\n" #echo # -- перевод строки n$ #echo # -- тоже выдаст 'null' "\n" #echo # type$ #echo # -- выдаст 'type'

Список нативных типов:

$null $any -- Абстрактный тип, зарезервировано. $number -- Абстрактный тип, служит для преобразования значений (через #as). $bool $int $float $type $text $fn -- Указатель на функцию. $module -- Указатель на модуль. $array -- Массив. $map -- Ассоциативный массив (мапа).

Проверка типов

a = 0 a #is $int ? -- условие верно 'Да' #echo # | -- выдаст 'Да' 'Нет' #echo # ; -- действие_иначе не выполнится

Преобразование типов

0 #as $float => x -- x = 0.0 0 #as $text => y -- y = '0' '000' #as $int => z -- z = 0 $float #as $text => txt -- txt = 'float'

Пример с типом $number :

text = '123' num = text #as $number -- текст преобразуется в целое число num #type # `echo n# ; -- Выдаст: int text = '1.23' num = text #as $number -- текст преобразуется в число с плавающей точкой num #type # `echo n# ; -- Выдаст: float