Logic (логические блоки)
=
Возвращает логическое значение (true или false) в качестве результата выполнения выбранной операции сравнения:
- = - равно
- ≠- не равно
- < - меньше
- <= - меньше или равно
- > - больше
- >= - больше или равно
and
Возвращает логическое значение (true или false) выбранной операции:
- and - И (возвращает true, если оба операнда равны true, иначе возвращает false)
- or - ИЛИ (возвращает false, если оба операнда равны false, иначе возвращает true)
not
Возвращает противоположное входящему булево значение (если на входе блока true, то вернёт false и наоборот)
true
Возвращает выбранное булево значение true или false
null
Возвращает значение null
Control (блоки управления)
if
Выполняет содержимое блока (в секции do), если на вход if передаётся значение true
repeat times
Выполняет содержимое блока указанное количество раз
foreve
Бесконечный цикл
repeat
Выполняет содержимое блока while или until пока условие равно true
count with from to by
Выполняет блок заданное интервалом количество раз с указанным шагом
for each item in list
Выполняет блок количество раз, равное числу элементов/букв в присоединённом к нему списке/тексте. В качестве списка может использоваться список простых значений, объектов или компонентов
break out of loop
Прерывает выполнения цикла (breake out) или осуществляет переход к следующей итерации (continue)
open link
Открывает ресурс по указанной ссылке или "глубокой" ссылке. Секция
on error может выполняться в ряде специфичных случаев, например, если отсутствует приложение для открытия указанной ссылки
navigate to
Осуществляет переход на выбранный экран
wait seconds
Приостанавливает выполнение программы на заданное количество секунд. Можно указывать дробные числа. Минимальное значение не определено и ограничено разрешающей способностью таймера. В качестве неё можно выбрать значение 0.001 - 1 миллисекунда.
test
Возвращает значение параметра if true, если на входе test находится значение
true, или значение параметра if false в противном случае
Any component (блоки для работы с выбираемыми компонентами)
When any
Выполняет содержимое блока при возникновении выбранного из выпадающего списка события для всех выбранных из выпадающего списка компонентов.
В блоке component содержится UUID (уникальный идентифкатор) компонента, вызвавшего событие. Состав и содержимое других блоков зависит от типа выбранного компонента. В данном случае в блоке item содержится текст элемента области списка List Viewer, а в блоке index - порядковый номер выбранного элемента в области списка.
Create do
Создаёт выбранный компонент и помещает его в заданный контейнер указанным образом:
- as first in - первым
- as last in - последним
- before - перед указанным компонентом
- after - после указанного компонента
Clone do
Выполняет копирование выбранного компонента и помещает его в заданный контейнер указанным образом:
- as first in - первым
- as last in - последним
- before - перед указанным компонентом
- after - после указанного компонента
in call
Выполняет выбранную функцию для указанного компонента
From set to
Изменяет значение выбранного свойства для заданного компонента
From get
Возвращает значение выбранного свойства для заданного компонента
All in
Возвращает список всех выбранных компонентов из указанного контейнера, включая и сам контейнер, если его тип совпадает с типом выбираемых компонентов
Remove
Удаляет выбранный компонент
Get component
Возвращает выбранный компонент (его UUID)
Math (блоки математических операций)
0
Возвращает указанное числовое значение. Можно указать целое значение, с плавающей запятой (через точку) или в научной форме с использованием символа e или E.
+
Возвращает результат выбранной из списка математической операции:
- + - сложение
- - - вычитание
- * - умножение
- ÷ - деление
- ^ - возведение в степень
random integer from to
Возвращает случайное целое цисло из заданного диапазона, включая граничные значения
random fraction
Возвращает дробное число из интервала 0.0 (включительно) и 1.0 (не включая)
round
Возвращает результат операции округления:
- round - округление до ближайшего целого числа вниз, если дробная часть меньше 0.5, или вверх в противном случае
- round up - округление до ближайшего большего или равного челого числа
- round up - округление до ближайшего меньшего или равного целого числа
square root
Возвращает результат выполнения выбранной операции:
- square root - квадратный корень
- absolute - абсолютное значение
- - - изменение знака числа
- ln - натуральный логарифм
- log10 - десятичный логарифм
- e^ - степень основания натурального лагарифма
- 10^ - степень 10
with decimal places
Возвращает число, округлённое до заданного количества знаков после запятой. Из-за невозможности точно представлять дробные числа в двоичной форме здесь возможны погрешности округления, например:
3.1449 до двух знаков => 3.14
3.1451 до двух знаков => 3.15
3.145 до двух знаков => 3.15
3.155 до двух знаков => 3.15
3.165 до двух знаков => 3.17
3.175 до двух знаков => 3.17
3.1145 до трёх знаков => 3.115
3.1155 до трёх знаков => 3.115
3.1165 до трёх знаков => 3.116
3.1175 до трёх знаков => 3.118
Для округления по правилам для десятичных чисел используюте формулу:
Math.round(число*100)/100 ) // пример округления до двух знаков
constrain low high
Возвращает значение в указанном диапазоне чисел. Если значение выходит за границы диапазона, то будет возвращено значение соответствующей границы. Например, если значение равно 500, то блок на изображении вернёт число 100 - значение верхней границы диапазона
remaindex of
Возвращает остаток от деления (в нашем случае 4)
sin
Возвращает результат вычисления выбранной тригонометрической операции (аргумент задаётся в градусах):
- sin - синус
- cos - косинус
- tan - тангенс
- asin - арксинус
- acos - арккосинус
- atan - арктангенс
is
Возвращает true, если число соответствует выбранному из списка условию:
- even - чётное
- odd - нечётное
- prime - простое
- whole - целое
- positive - положительное
- negative - отрицательное
- division by - делится на указанное
π
Возвращает значение выбранной числовой константы или математической операций:
- π - число Пи - 3,14..
- e - основание натурального логарифма - 2,71828
- φ - золотое число - 1,618..
- sqrt(2) - квадратный корень 2
- sqrt(½ ) - квадратный корень 0.5
- ∞ - бесконечность
Text (блоки для работы с текстом)
text
Создаёт и возвращает строковый литерал. Можно использовать символы Юникода путём копирования и вставки их в это однострочное поле
join
Объединяет строки. Если на входе имеется список, то он преобразуется в строку с разделителями
length of
Возвращает длину строки или количество элементов в списке, если на вход подаётся список. Для двухсимвольных Юникод-символов вернёт значение 2.
does contain
Возвращает true, если строка, число или какой-либо элемент списка содержит указанную подстроку. Регистр символов учитывается.
in text get substring from to
Возвращает из строки подстроку, находящуюся между указанными индексами (включительно):
- letter # - по индексу от начала строки
- letter # from end - по индексу от конца строки
- first letter - первый символ в строке
- last letter - последний символ строки
Индексация символов в строке начинается с 1 - индекс первого символа.
in text get
Возвращает символ по выбранному из списка условию:
- letter # - по индексу от начала
- letter # from end - по индексу от конца
- first letter - первый символ
- last letter - последний символ
- random letter - случайный символ
Данный блок некорректно работает с двухсимвольными Юникод-символами
in text find occurrence of text
Возвращает индекс первого символа найденной подстроки в строке:
- first - поиск первого от начала строки совпадения
- last - поиск последнего от начала строки совпадения
in text replace all with
Заменяет все подстроки в исходной строке
to
Возвращает строку с преобразованными символами:
- UPPER CASE - к верхнему регистру
- lower case - к нижнему регистру
- Title Case - к верхнему регистру первых символов непрерывной последовательности символов (слов, грубо говоря)
Этот блок не работает со списками.
trim spaces from to
Удаляет пробелы вокруг строки:
- both sides - с обоих концов
- left side - с левого конца
- right side - с правого конца
is empty
Возвращает true, если заданная строка/список не содержит символов/элементов
newline
Возвращает символ разрыва строки
Lists (блоки для работы со списками)
in list find
Возвращает индекс первого first или последнего last элемента строки, заданного в третьем параметре
list
Создаёт и возвращает список элементов
list of numbers from to by
Создаёт список чисел из указанного диапазона с указанным шагом
empty list
Создаёт и возвращает пустой список
create list with item repeated times
Возвращает строку, полученную из параметра путём его повторениея указанное число раз. В качестве параметра можно указать строку, число, булево значение и др.
length of
Возвращает количество элементов в списке или длину строки, если на вход подаётся строка
shuffle
Возвращает копию списка с перемешанными в произвольном порядке элементами
does list contain
Возвращает true, если какой-либо элемент списка (или строка) равен заданной указанной строке. Регистр символов учитывается
in list
Возвращает (get), возвращает и удаляет (get and remove) или удаляет (remove) элемент списка, выбранному по условию:
- # - по индексу от начала списка
- # from end - по индексу от конца списка
- first - первый элемент
- last - последний элемент
- random - случайный элемент
Индексация элементов списка начинается от 1 - первый элемент списка. Если указать интекс 0, то произойдёт удаление первого элемента от конца списка, -1 - второго элемента и так далее. Запомните эту особенность. Если элемент в списке не найден, то блок поиска вернёт 0 и это приведёт к удалению последнего элемента в списке, что будет ошибкой.
in list as
Записывает (set) или вставляет (insert at) данные в элемент списка, выбранному по условию:
- # - по индексу от начала списка
- # from end - по индексу от конца списка
- first - первый элемент
- last - последний элемент
- random - случайный элемент
Индексация элементов списка начинается от 1 - первый элемент списка.
in list get sub-list from to
Возвращает список элементов, находящихся между указанными значениями:
- # - по индексу от начала
- # from end - по индексу от конца
- first - первый элемент
- last - последний элемент
make with delimiter
Возвращает:
- list from text - список, созданный из строки с указанным разделителем
- text from list - строку с указанным разделителем, созданную из списка
sum of list
Возвращает значение выбранной из списка операции:
- sum - сумма элементов (если все значения имеют числовой тип) или объединение элементов в строку (если хотя бы одно значение является строкового типа)
- min - наименьшее число из списка
- max - наибольшее число из списка
- average - среднее арифметическое (пустые элементы также учитываются в делителе)
- median - медиана - число, расположенное посередине ряда после его упорядочивания по возрастанию или среднее арифметическое двух серединных значений при чётном количестве элементов
- modes - моды (значения, встречающиеся в списке или строке наиболее часто или все, если частотность у всех элементов одинаковая)
- standard deviation - среднеквадратическое отклонение
- random item - случайное значение из списка (работает и для списка строк)
sort
Возвращает копию отсортированного списка:
- numeric - по числовому порядку следования
- alphabetic - по лексикографическому порядку следования символов в таблице ASCII
- alphabetic, ignore case - по лексикографическому порядку следования символов в таблице ASCII без учёта регистра символов
- ascending - сортировка по возрастанию
- descending - сортировка по убыванию
is empty
Возвращает true, если указанный список не содержит значений
Colour (блоки для работы с цветовыми значениями)
color
Возвращают шестнадцатеричные значения цветов в формате RGB
random color
Возвращает значение случайно выбранного цвета в шестнадцатеричном формате RGB
colour width red green blue
Возвращает значение цвета в шестнадцатеричном формате RGB, принимая значения от 0 до 100 в цветовых параметрах
colour width hue saturation value
Возвращает значение цвета в шестнадцатеричном формате RGB, принимая значения тона, насыщенности и яркости
blend
Возвращает значение цвета в шестнадцатеричном формате RGB, полученного путём смешивания двух цветовых компонент в указанном отношении
Device (блоки для работы с устройством)
vibrate
Активирует вибросигнал
current
Возвращает текущее значение компоненты даты или времени:
- year - четырёхзначное значение года
- month - порядковый номер месяца (от 1 до 12)
- day of the month - порядковый номер дня месяца (от 1)
- day of the week - порядковый номер дня недели (1 - воскресенье и т.д.)
- hour - час
- minute - минута
- second - секунда
seconds since 1970
Возвращает количество секунд, прошедших с 1970 года
device is online
Возвращает true, если устройство подключено к сети (есть активное сетевое соединение). Это не означает, что Интернет доступен.
platform is
Возвращает true, если в блоке выбрана платформа, на которой работает приложение (iOS, Android, Web)
dismiss keyboard
Убирает клавиатуру с экрана
screen
Возвращает высоту или ширину клиентской (которая доступна для приложения) области экрана в пикселях
set keep screen awake to
Задаёт режим удержания экрана во включенном состоянии. При установке true экран остаётся включенным даже если пользовател не взаимодействует с ним.
is device color scheme
Возвращает true, если цветовая схема на устройстве совпадает с выбранной dark (тёмная) или light (светлая). В противном случае возвращает false.
Objects (блоки для работы с объектами JSON)
set property
Устанавливает значение свойства объекта
get object from JSON
Возвращает объект из указанной JSON-строки
generate JSON from object
Создаёт и возвращает JSON-строку из указанного объекта
get property
Возвращает значение свойства заданного объекта
create object
Создаёт и возвращает объект (пустой или со значениями)
get object properties of
Возвращает список свойств заданного объекта
Variables (блоки для работы с переменными)
Из-за низкой производительности и нестабильной работы (в некоторых случаях) рекомендую как можно меньше использовать эти блоки, а блок app-переменной вообще не использовать в приложениях, заменив его на блок переменной из параметра функции и др.
initialize variable to
Инициализирует глобальную переменную, доступную на всех экранах приложения, с выбором места хранения:
- app - в оперативной памяти. Данную переменную не рекомендуется использовать в приложениях во избежание многочисленных проблем
- stored - на устройстве
- cloud - в базе данных Firebase. По молчанию значения хранятся на общедоступном аккаунте ThunkableX (и могут время от времени очищаться). По этой причине рекомендуется добавить в проект компонент RealtimeDB. В этом случае значения будут сохраняться в вашей базе)
set to
Устанавливает значение переменной
change by
Изменяет значение переменной на заданное число при каждом использовании. Для увеличения значения используются положительные числа, для уменьшения значения - отрицательные
var
Возвращает значение переменной
when changes
Выполняет содержимое блока при инициализации или изменении значения выбранной переменной. Данный блок срабатывает только при относительно медленном изменении значения переменной. Если значение переменной изменяется в цикле, то данный блок не выполняется.
Functions (блоки функций)
to
Функция без возврата значения
to return
Функция с возвратом значения