0

我正在研究 swig.js 以使其与 Django 更友好地工作,我可以理解大多数代码,但 parse.js,我想知道“filterApplyIdx”到底是什么意思。还有其他人也在做这个吗?

4

1 回答 1

2

当我发布到邮件列表时

filterApplyIdxout(输出)数组上将应用过滤器的索引数组。当解析器找到一个过滤器时,它将把它应用到out数组中最后一个值的索引处filterApplyIdx

例如:如果out数组有以下['(', 'my_var'],则filterApplyIdx应该是[0, 1]my_var(一旦找到右括号,它将首先应用于,然后应用于左括号所包含的所有内容)。因此,如果解析的下一项是过滤器,它将弹出filterApplyIdx最后一个值,即1,并查看out数组,并将过滤器应用于 处的标记out[1]

但是,如果out数组更复杂,例如:(['my_func(', 'foo', 'bar']请注意,my_func尚未找到右括号),filterApplyIdx则将是:[0, 2]。我们现在已经删除了,因为发现一个新变量后,1应用过滤器的机会已经过去。foobar

于 2014-11-19T04:52:24.460 回答