【发布时间】:2009-11-23 08:03:05
【问题描述】:
我正在编写一个接收各种“命令”字符串的应用程序。我一直在查看 Scala 组合器库来标记命令。我发现在很多情况下我想说:“这些标记是无序的集合,因此它们可以按任何顺序出现,有些可能不会出现”。
以我目前的语法知识,我必须定义所有序列组合(伪语法):
command = action~content
action = alphanum
content = (tokenA~tokenB~tokenC | tokenB~tokenC~tokenA | tokenC~tokenB~tokenA ....... )
所以我的问题是,考虑到 tokenA-C 是独一无二的,是否有更短的方法来使用语法定义一组任意顺序?
【问题讨论】: