题
树梢网站提供了以下我不理解的解释
省略号 空字符串在任何位置都匹配,并且不消耗任何输入。当您希望将单个符号视为序列的一部分时,例如当将使用共享代码处理替代规则时,此功能很有用。
规则替代 (foo bar / baz'') { 定义值 elements.map {| e |e.text_value} 结束 } 结束
什么时候将符号视为序列的一部分有用?有人可以提供一个有意义的例子吗?
解决方案
我不熟悉Treetop。从该示例中可以看出,( foo bar / baz '' )
可能会产生['foo', 'bar']
或generaodicetagcode。
如果删除省略号,您将获得['baz', '']
或仅['foo', 'bar']
(无序列/列表/数组)。
不隶属于 StackOverflow