【发布时间】:2016-03-06 09:36:12
【问题描述】:
假设我有一个包含一些 keyN-separators 的原子,我如何生成一个包含单独元素列表的列表
1000
示例:
?- Atom ='elem1key1elem2key2elem3key1...elemN,keyN',
split_atom_list(Atom,[key1,key2,keyN],Res_List).
Res_List = [elem1,key1,elem2,key2,...elemN,keyN];
yes
【问题讨论】:
-
所以它需要一个键列表,抛出任何不在原始原子中的键/元素对,将所有元素/键对作为单独的列表元素,除了最后一个。最后一个它只扔出钥匙并保留最后一个元素?您还在引号中显示“elemN”,这与没有引号的情况相同。这有什么意义吗?无论有没有,在这种情况下,它们都是一样的。也许另一个例子会有所帮助,只是为了确保模式清晰。
-
你的例子的结果列表不应该是
Res_List = [elem1,key1,elem2,key2,...elemN,keyN];吗?还是您有意删除最后一个元素的键? -
@lurker 最后一个元素可能是键
-
@lurker 到目前为止,我更改谓词 atomic_concat_list @CapelliC 以维护单个键,然后递归地使用其他键完成,但事实并非如此