Последовательность чисел от 1 до 100 в списке в Mulesoft

У меня есть список с такой последовательностью, как #[[1,2,3,4]. Я хочу определить другой список с последовательностью чисел от 1 до 100. Я пытался использовать #[[1..100]], но это не разрешено. Как я могу добиться этого в Mulesoft?

2 ответа

Решение

В муле 4 и в dataweave 2 .. Оператор теперь используется для другого варианта использования. Для диапазона использования to вместо:

#[1 to 100]

В mule 3 и dataweave 2 используйте.. но если вы хотите использовать его как встроенное выражение, вам нужно обернуть его в dw функция

    #[dw('[1..100]', 'application/java')]

Или используйте компонент transform-message для не встроенных преобразований

Хотя можно просто использовать оператор диапазона toдля создания большого списка чисел. Есть и другие способы добиться этого, особенно используя лямбда-переменные, превращенные в функции.

Чтобы сгенерировать числа, начинающиеся с 1, мы можем попробовать рекурсивный вызов функции, как показано ниже.

      %dw 2.0
output application/json
var nums = (k: Number, arr: Array<Number>=[]) -> if(k > 0) nums(k-1, (arr + k)) else arr[-1 to 0]
---
nums(4)

Для генерации чисел на основе начального и конечного диапазона; попробуйте ниже

      %dw 2.0
output application/json
var nums = (j, k: Number, arr: Array<Number>=[]) -> if(k > (j-1)) nums(j,k-1, (arr + k)) else arr[-1 to 0]
---
nums(7, 11)
Другие вопросы по тегам