Использование приращения для доступа к массиву Twilio Studio - PullRequest
0 голосов
/ 12 июля 2020

Я работаю с двумя виджетами для целей этого вопроса: виджет Установить переменные и разделение на основе виджета. Я хочу перебрать свой массив, который я передаю (flow.data.arr):

Я пытаюсь установить переменные:

key: increment
value: {% if flow.variables.increment %}{{flow.variables.increment | plus:1}}{% else %}0{% endif %}

и в разбиении на основе:

condition: flow.data.arr[increment].nestedValue isNotBlank

Я тестировал с числами, и если я вставлю 0 или 1, он работает отлично. Я предполагаю, что он оценивает increment var как строку, так как, когда я включил пробелы внутри if logi c, он добавил эти пробелы внутри строки.

SO Если мое предположение правильно, как я могу заставить Twilio оценивать increment как число? Если мое предположение неверно, как я могу достичь этой итерации стиля "для l oop"?

1 Ответ

0 голосов
/ 22 июля 2020

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

В разбиении на основе вы можете использовать:

condition:
{% assign i=flow.variables.increment | plus:0 %}
{{flow.data.arr[i].nestedValue}} isNotBlank

Для достижения желаемого результата. Добавление 0 приведет к преобразованию его в число в момент использования.

...