Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
List 如何在prolog中匹配精确列表_List_Prolog_Match_Dcg - Fatal编程技术网

List 如何在prolog中匹配精确列表

List 如何在prolog中匹配精确列表,list,prolog,match,dcg,List,Prolog,Match,Dcg,请帮忙 a是adenin,但那些非规范的基是什么?无论如何,让我们用一个简单的方法 用法: ?- phrase(withprotein(Protein), [q,w,e,a,s,d,f,w,o,e]). Protein = annexin 字符串包含蛋白质当且仅当其定义是字符串的子列表时: protein(annexin, [a,s,d,f]). has_protein(Protein, List) :- protein(Protein, ProteinDefinition),

请帮忙



a
是adenin,但那些非规范的基是什么?无论如何,让我们用一个简单的方法

用法:

?- phrase(withprotein(Protein), [q,w,e,a,s,d,f,w,o,e]).
Protein = annexin

字符串包含蛋白质当且仅当其定义是字符串的子列表时:

protein(annexin, [a,s,d,f]).

has_protein(Protein, List) :-
  protein(Protein, ProteinDefinition),
  sublist(ProteinDefinition, List).

关于这个问题,你能再明确一些吗?似乎你想在facts“蛋白质”中搜索那些包含(子列表)给定序列的蛋白质。是吗?它是非终端
的名称//0
这意味着:“任何可能的空序列”@NorwahidaShamsuddin:你为什么试图删除
的定义//0
protein(annexin) -->
   [a,s,d,f].

withprotein(Protein) -->
   ...,
   protein(Protein),
   ... .

... --> [] | [_], ... .
?- phrase(withprotein(Protein), [q,w,e,a,s,d,f,w,o,e]).
Protein = annexin
protein(annexin, [a,s,d,f]).

has_protein(Protein, List) :-
  protein(Protein, ProteinDefinition),
  sublist(ProteinDefinition, List).