在序言中是否有'两个或两个以上'(或其他选项)使以下内容更短?序言:两个或更多
rule(foo, [bar,bar]).
rule(foo, [bar,bar,bar]).
rule(foo, [bar,bar,bar,bar]).
rule(foo, [bar,bar,bar,bar,bar]).
,你可以把它读作:如果有N个酒吧意甲然后分配标签富
在序言中是否有'两个或两个以上'(或其他选项)使以下内容更短?序言:两个或更多
rule(foo, [bar,bar]).
rule(foo, [bar,bar,bar]).
rule(foo, [bar,bar,bar,bar]).
rule(foo, [bar,bar,bar,bar,bar]).
,你可以把它读作:如果有N个酒吧意甲然后分配标签富
between/3
可能是你追求的:
rule(foo, L) :-
between(2, 5, N),
length(L, N),
maplist(=(bar), L).
是的!谢谢,这就是我一直在寻找的东西。 – Brutalized
@Brutalized你不应该彻底改变你的问题。它使给出的答案和评论无效。请改回你的问题,并提出一个新问题。但是,如果你考虑一下,你应该能够运用我所展示的技术来解决这个问题。 – lurker
http://stackoverflow.com/questions/35527863/prolog-eliminate-redundancy – Brutalized
这看起来像“2和5之间的酒吧”。你真的是指“一个或多个”酒吧“?”? – 2016-02-19 16:14:39
是的抱歉,我的意思是介于2和5之间 – Brutalized
那么你应该编辑你的问题的标题。 – 2016-02-19 16:16:55