- Распечатать
Как использовать массивы в приложениях
Обзор
Вот как хранить данные в массиве в Tulip и перемещать значения из одного типа данных в другой.
В этой статье вы узнаете...
- Как создавать и использовать массивы
- Как изменять массивы в редакторе триггеров
- Использование split string для превращения вывода функции-коннектора в массив
Массивы и объекты - это две популярные структуры данных, которые используются во многих языках программирования. В Tulip эти структуры данных используются в двух частях платформы:
- Переменные - для хранения нескольких точек данных, связанных с одной и той же переменной
- Коннекторы - для передачи вывода функции коннектора в переменную.
Массивы могут быть созданы:
- В редакторе триггеров (вручную)
- В редакторе выражений (вручную)
- В окне "Сводка переменных" (см. ниже) (вручную).
- При сохранении выходных данных входа Multiselect.
- При сохранении вывода функции SQL-коннектора, возвращающей несколько строк, или HTTP-коннектора с массивом в возвращаемом JSON (автоматически)
Создание массивов
В редакторе триггеров
Массив можно создать с помощью действия "Push onto Array".
- "Arrays" "Push Onto Array" data: "Static Value" "text" "text" array: (создать массив здесь)
В редакторе выражений
Создать новый массив можно с помощью действия "Data Manipulation" "Store". Например:
- "Манипуляция данными" "Хранить" data: "Expression" "[1,2,3]" location: "test_array"
Каждый массив может иметь только один тип значений, т.е. строки или целые числа.
В представлении "Сводка переменных
Перейдите к представлению Variable Summary View на вкладке "App" контекстной панели, затем создайте новую переменную в верхней части модального окна:
Манипулирование массивами
В редакторе триггеров можно создавать массивы и манипулировать ими. В операторе "Then" нажмите кнопку "Add new Action" и выберите опцию "Arrays".
В следующем выпадающем списке вы увидите различные методы работы с массивами. Они соответствуют методам массивов в JavaScript, поэтому, если вам нужны дополнительные пояснения, ознакомьтесь с этим руководством по методам массивов.
Доступные методы массивов включают в себя:
- Очистить массив
- Конкатенация массивов
- Получить из индекса в массиве
- Получить длину массива
- Вставить по индексу в массив
- Присоединиться к строке
- Вытащить из массива
- Push onto Array
- Удалить и сохранить элемент по индексу в массиве
- Remove at index in Array
- Установить индекс в массиве
- Суммировать массив
- Поменять элементы в массиве местами
В зависимости от выбора в этом выпадающем списке, в остальных полях будут даны варианты того, с каким массивом вы хотите работать, какой индекс вы хотите изменить и какое новое значение вы устанавливаете.
- "Массивы" "Установить индекс в массиве" данные: "Static Value" "number" "90" array: "test_a" index: "Static Value" "integer" "0"
В приведенном примере в массиве "test_a" значение с индексом 0 изменяется на значение 90.
- "Массивы" "Получить из индекса в массиве" array: "Переменная" "test_a" индекс: "Static Value" "integer" "0" store in variable: "test_vari"
В приведенном примере мы получаем значение по индексу 0 из массива "test_a" и сохраняем его в переменной "test_vari".
Поиск в массивах
Допустим, вы хотите использовать виджет multiselect, чтобы оператор мог ввести несколько типов дефектов одного продукта. Затем, в зависимости от того, какие дефекты были введены, вы хотите отправить их на определенный набор этапов доработки.
Форма multiselect автоматически сохраняет значения в массиве. Поэтому необходимо найти в этом массиве определенное значение, а затем отправить оператора на определенный этап.
Для этого можно использовать триггерное действие "Join To String". При этом все элементы массива будут объединены в одну строку и сохранены в отдельной переменной. Затем в отдельном триггере с помощью оператора "If" можно проверить, содержит ли эта строка определенное значение.
Элементы массива могут быть разделены любой строкой по вашему выбору. Большинство пользователей Tulip предпочитают использовать запятую (,).
Приведем пример объединения всех элементов массива в строку:
- "Массивы" "Join To String" join: "defect types"
- с разделителем: "Static Value" "text" ","
- сохранить в: "defect_types_joined"
Вот второй триггер, который будет использоваться для поиска в этой новой строке определенного значения:
IF
- "Переменная" "defect_types_joined" "Contains" "Static Value" "text" "chip"
Использование Split String для создания массивов
Исходя из всего, что было рассмотрено до сих пор, вывод некоторых типов функций соединителей в массив будет весьма затруднителен. Для решения этой проблемы можно использовать split string.
Если вы хотите подготовить вывод функции-коннектора к хранению в массиве, то необходимо добавить общий символ между каждым элементом данных. К распространенным примерам относятся:
- точка с запятой (;)
- Запятая (,)
- Символ новой строки ("\n").
Допустим, у вас есть ряд точек данных, которые вы хотите сохранить в массиве. В SQL-запросе или HTTP GET-запросе сначала нужно объединить их в одну строку, если они еще не хранятся в объекте.
Вот пример:
7989;43f3;3e3;f34;f;34;3
Общепринятым разделителем является точка с запятой.
В редакторе триггеров для преобразования этой строки в массив необходимо использовать опцию "Split String".
Сначала выберите переменную, которую нужно разделить. В данном случае она называется "q".
Затем добавьте разделитель.
Наконец, выберите переменную, в которой будет храниться массив.
- "Split String" split: "Переменная" "q" by: "Static Value" "text" ";", сохранить в: "w"
Отображение переменных массива
Если вы хотите убедиться, что все работает, добавьте в шаг текст переменной. Затем выберите переменную, в которой хранится массив.
Наконец, откройте Tulip Player и посмотрите, все ли элементы массива отображаются в виде маркированного списка. Возможно, потребуется расширить текстовое поле, чтобы учесть количество элементов в массиве.
При возврате из HTTP-коннекторов массива с одним типом данных (текст, булево, целое число и т.д.) на выходе получается маркированный список, как показано в разделе выше.
Отображение массивов из функций SQL и HTTP-коннекторов
Когда вы возвращаете массив объектов из функции HTTP-коннектора или несколько строк из функции SQL-коннектора, маркированный список не будет идеальным вариантом отображения.
Вместо этого обратитесь к этому отдельному руководству, чтобы узнать, как превратить вывод функции-коннектора в интерактивный или статический список.
Просмотр всех переменных массива в приложении
Для того чтобы манипулировать структурой данных, она должна быть уже сохранена в виде переменной. Посмотреть существующие переменные можно, войдя в контекстную панель редактора приложений и выбрав символ Sigma рядом с надписью "Variables" на вкладке App.
Массивы будут отображаться как "Массив" в колонке "Тип", в зависимости от того, какие значения они содержат. Также можно создать значения по умолчанию для индексов массива.
Дальнейшее чтение
- Как использовать выходные данные функций-коннекторов в приложениях
- Как вызвать функцию-коннектор с помощью триггеров
- Руководство по редактору выражений в редакторе приложений
Вы нашли то, что искали?
Вы также можете зайти на community.tulip.co, чтобы задать свой вопрос или узнать, сталкивались ли другие с подобным вопросом!