【发布时间】:2016-04-07 06:29:23
【问题描述】:
我有一个结构符号表:
key → [value | R]
我想写一个谓词 get_symbol/2,它接收一个键(它的第一个参数)并将一个值(它的第二个参数)组合到符号表中与键关联的第一个值。
谁能帮我解决这个问题?非常感谢。
【问题讨论】:
-
合并如何?你是不是错过了一个谓词参数(返回组合)?
-
亲爱的@PauloMoura,我认为第二个参数将是组合参数。谢谢!
-
如果第二个参数包含值,那么它不能也包含组合。您将需要第三个参数。另外,
R是什么? -
是的,我知道
R是列表的其余部分,但不知道它在您的符号表中的意义。所以你是说每个键都有一个或多个与之相关的值?你能举一个get_symbol/2查询的例子吗?你的符号表是如何构成的? -
亲爱的@lurker,是的,英语要求相当含糊,我想知道这个工具是否会是这种情况:get_symbol(K, [(K,A)|_]) :- A \== []。 get_symbol(K, [(Y,_)|R]) :- K \== Y, get_symbol(K,R)
标签: prolog