stack. Стек вызовов методов.   [3.4.5]

^reflection:stack[опции]

Возвращает текущее состояние стека вызовов методов на парсере. Для каждого стекового кадра возвращается хеш, содержащий
self, имя вызванного метода, имя файла и строку, в которой определен метод.

Можно задать хеш опций:
·$.args(false/true) - дополнительно создавать хеш args, содержащий переданные методу параметры. По умолчанию не создавать.  
·$.locals(false/true) - дополнительно создавать хеш locals, содержащий локальные переменные метода. По умолчанию не создавать.  
·$.limit(n) - ограничить число возвращаемых стековых кадров. По умолчанию возвращаются все.  
·$.offset(o) - возвращать стековые кадры начиная с указанного. По умолчанию возвращаются начиная с первого.  

Пример

@example[value]
^json:string[^reflection:stack[ $.args(true) ]; $.indent(true) ]

@main[]
^example[
some value]

Выведет:

{
   "1":{
      "self":{},
      "name":"example",
      "file":"filename.html",
      "line":1,
      "args":{
         "value":"some value"
      }
   },
   "2":{
      "self":{},
      "name":"main",
      "file":"filename.html",
      "line":4,
      "args":{}
   }
}



In order to add comments you must register.
Copyright © 1997–2021 Art. Lebedev Studio | http://www.artlebedev.ru Дата обновления: 03.05.2017