The translation (version 1.1.0) is behind the English original (version1.2.0). If you’d like to fill the gap, great! See how to update the translation of a documentation page in the contribution guide.

Типы данных

Здесь кратко описаны свойства встроенных типов данных XOD. Чтобы узнавать о типах больше, смотрите гид по типам данных.

Цветовая кодировка #

Color code

Правила преобразования #

В следующей таблице показаны допустимые неявные преобразования типов. Т.е., когда допустим прямой линк между двумя различными типами данных. Даже если непосредственная линковка запрещена, существуют ноды, которые помогают выполнить нужное преобразование явно.

→ Pulse → Boolean → Number → Byte → Port → String
Pulse → no no no no no
Boolean → yes yes yes no yes
Number → no yes no no yes
Byte → no yes no no yes
Port → no no no no no
String → no no no no no

Ниже приведены подробные сведения о преобразовании данных при неявном приведении.

Из В Как
Boolean Pulse Смена на True считается импульсом. То есть, когда значение было False и сталоTrue испускается один импульс.
Boolean Number False конвертируется в 0.0 и
True конвертируется в 1.0.
Boolean Byte False конвертируется в 0000 0000 and
True0000 0001.
Boolean String True конвертируется в "true" and
False конвертируется в "false".
Number Boolean Ноль (0) конвертируется в False,
любое другое значение конвертируется в True.
Number String конвертируется с двумя знаками после запятой. 3.14159"3.14" и 0"0.00".
Byte Boolean 0000 0000 конвертируется в False,
любое другое значение конвертируется в True.
Byte String Преобразуется в двузначное шестнадцатеричное число с h-суффиксом, например 0000 11010Dh.

Литералы #

В этом разделе обобщается допустимый ввод текста (т. е. грамматика) для различных типов данных. Это имеет значение, например, при вводе значений в IDE с помощью Inspector.

Литералы типа Number #

Обозначение Комментарии
1000 В случае целого числа литерал является последовательностью десятичных цифр
+1000 Константа может иметь явно указанный знак
-1000 Константа может быть отрицательной
-1000.45 Может иметь значения после запятой
-.45 Если целая часть равна нулю,то она может быть отброшена
1000. Допускается конечная десятичная точка
2e6 Константа может иметь десятичный показатель степени после символа “e” (2×106 = 2 000 000)
2e+6 Степень может иметь знак
2e-6 Быть отрицательной (2×10-6 = 0.000002)
+.2e-3 Правила для части перед “e” все еще применяются
Inf Особое значение для обозначения положительной бесконечности
+Inf Может включать явный знак
-Inf Или быть отрицательной бесконечностью
NaN Значение “Not A Number”, сигнализирующее об ошибке операции

Литералы типа Boolean #

Допустимые обозначения:

  • True
  • False

Литералы типа Byte #

Обозначение Комментарии
1Ah Каноническая шестнадцатеричная форма содержит две цифры (0-9|A-F), за которыми следует h-суффикс
03h Значения менее 10h должны включать ведущий ноль
00011010b В двоичной форме литерал восемь цифр (0/1), а затем b -суффикс
26d Десятичная форма содержит целое число в диапазоне [0; 255], а затем d -суффикс
006d Начальные нули разрешены, но могут быть опущены
'a' Символ, заключенный в одинарные кавычки, преобразуется в байтовое значение, равное коду ASCII
'\n' Символ обратного слеша задаёт управляющий символ ASCII, такой как перевод строки, возврат каретке, табуляция и т.д.

В некоторых случаях IDE или CLI может нормализовать почти допустимые константы как 3h (нет начальных нулей), 0x03 (обычный шестнадцатеричный код для C++, JavaScript и Python программирования), 3 (подразумеваемый десятичный 3), однако каноническая форма, как показано.

Литералы типа Port #

Обозначение Комментарии
D4 Цифровой порта ничинается с “D”, а далее следует соответствующий номер порта
A6 Аналоговый порт/канал начинается с “A” далее следует номер

Обратите внимание, что значения аналоговых портов могут быть преобразованы в значения цифровых портов, но не наоборот. Так, в случаях, когда аналоговый канал и цифровой порт делят один и тот же физический вывод платы (например, A6 and D4 на Arduino Leonardo) вам следует выбрать A6 для аналогового чтения данных, хотя и для цифровых операций, подойдет: A6, в таком случает будет автоматически скорректировано в D4 движком программы.

Литералы типа String #

Обозначение Комментарии
"Hello" Строковые литералы заключаются в двойные кавычки
"Dist: 10\"" если строка содержит символ ", он должен быть экранирован обратным слешем \ (Dist: 10")
"Hello\nWorld" Новая строка кодируется как \n
"Hello\r\nWorld" \r кодирует возврат каретки
"1023.0\t244\t1" \t кодирует TAB символ
"A\\B\\C" Обратные слеши экранируются обратными слешами (A\B\C)

Литералы типа Pulse #

Обозначение Комментарии
Never никогда не испускать импульс
On Boot давать импульс только при старте программы
Continuously Испускать импульсы так быстро, как позволяет производительность, в каждом такте
Found a typo or mistake? Want to improve the text? Edit this page on GitHub and open a pull request. If you have a complex proposal or you want to discuss the content, feel free to start a new thread on XOD forum.