匹配相同元素列表的模式
我正在寻找一种与由相同(在 Equal[] 意义上)原子对象组成的(可能为空)列表匹配的模式,但我无法弄清楚。任何帮助将不胜感激。
I am looking for a pattern that matches a (possibly empty) list consisting of identical (in the sense of Equal[]) atomic objects, but I can't figure it out. Any help would be greatly appreciated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
到目前为止,所有响应似乎都没有满足匹配对象必须是原子的要求。下面的代码做到了这一点:
如果您没有在
Equal
的意义上定义identical,您可以使用:通过稍微修改的测试列表,您将看到其他方法失败要求
它们也都错误地匹配第三个元素。
All of the responses so far seem to have missed the requirement that the objects being matched need to be atomic. The following does this:
If you don't define identical in the sense of
Equal
you could have used:With a slightly modified test list you'll see other methods fail the requirement
they all incorrectly match the 3rd element too.
这对你有用吗?
Does this work for you?
使用
Condition
,而不是PatternTest
:(并扩展 Mark 的测试用例列表以覆盖空列表和单例列表。)
Using
Condition
, instead ofPatternTest
:(and expanding on Mark's list of test cases to cover empty and singleton lists.)