function 'POP'

POP(varname[,delimiter])
Удаляет и возвращает последнее поле переменной, содержащей заданный разделитель.

Описание

exten => s,1,Set(foo=one,two,three)
exten => s,n,While($["${SET(var=${POP(foo)})}" != ""])
exten => s,n,NoOp(${var})
exten => s,n,EndWhile

Пока существуют значения в переменной ${var}, выводить в консоли значение переменной ${var}.
Итерация реализуется командой While()
Т.к. вышеприведенный пример работает, то дефолтный разделитель, видимо запятая - ','.

Например, в функции CUT дефолтный разделитель '-' и запятую приходится экранировать, а здесь нормально сделали.


asterisk function pop


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

 exten => s,n,NoOp(${var} - ${foo})

выведем в теле цикла, также и переменную ${foo}:

Синтаксис

POP(varname[,delimiter])

Аргументы
  • varname - модифицуруемая переменная
  • delimiter - разделитель (запятая по умолчанию)

См. также

  • function 'SHIFT' - поведение функции SHIFT аналогично POP, только отрезается первое. а не последнее поле.
exten => s,1,Set(foo=one,two,three)
exten => s,n,While($["${SET(var=${SHIFT(foo)})}" != ""])
exten => s,n,NoOp(${var} - ${foo})
exten => s,n,EndWhile

asterisk function shift

Только авторизованные участники могут оставлять комментарии.
  • asterisk/func/pop.txt
  • Последние изменения: 2018/07/04