kdb / q-通过位置获取包含其源代码字符串的表达式?

时间:2019-04-26 07:19:41

标签: q kdb

我正在研究Q的新.Q.trp,以及在发生错误时得到的调试对象。 据我所知,调试对象包含发生错误的源代码的字符串表示形式以及触发错误的字符串中的偏移量。

例如,

{
  something: 123;
  x: 123; ThisThrowsAnError[456;789]; y: 123;
}[]

在执行上述代码时,调试对象将完整地包含此代码以及指向ThisThrowsAnError []开头的偏移量。

我的问题是-基于此信息,如何提取导致错误的整个语句? 例如,在上面的示例中,我想提取“ ThisThorwsAnError [456; 789]”。

到目前为止我想到的事情...

  • 从偏移量提取字符串,直到行尾。不过,此操作无效,因为同一行中可能还有其他语句(例如,上面的“ y:123”)

  • 解析源代码(直译为“ parse”)。但是然后呢..?输出可能是任何东西(例如lambda或语句列表),然后仍然需要以某种方式将其映射回源位置

赞赏任何想法!谢谢

0 个答案:

没有答案