我正在研究 swig.js 以使其与 Django 更友好地工作,我可以理解大多数代码,但 parse.js,我想知道“filterApplyIdx”到底是什么意思。还有其他人也在做这个吗?
问问题
28 次
1 回答
2
当我发布到邮件列表时
filterApplyIdx
是out
(输出)数组上将应用过滤器的索引数组。当解析器找到一个过滤器时,它将把它应用到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
应用过滤器的机会已经过去。foo
bar
于 2014-11-19T04:52:24.460 回答