为什么我的谓词返回序言中的列表

  • 本文关键字:列表 返回 谓词 list prolog
  • 更新时间 :
  • 英文 :


所以我有这个谓词应该返回单个元素列表。但是它不断返回列表,我不确定为什么。

english2133t([],[]).
english2133t([H|T], [R|E]):-
    translate([H],R), english2133t(T,E).

翻译只是一个迷你数据库

translate("a", "4").
translate("b", "b").
translate("c", "<").
translate("c", "k").
translate("d", "|>").
translate("e", "3").
translate("f", "ph").
translate("g", "g").
translate("g", "9").
translate("h", "h").
translate("i", "1").
translate("j", "j").
translate("k", "|").
translate("l", "1").
translate("m", "/\/\").
translate("n", "/\/").
translate("o", "0").
translate("p", "p").
translate("q", "q").
translate("r", "r").
translate("s", "5").
translate("t", "7").
translate("t", "+").

就像将 H汇总到列表中以统一字符代码一样,您需要使用 [R],以便返回的字符代码列表与列表统一:

english2133t([],[]).
english2133t([H|T], [R|E]):-
    translate([H],[R]), english2133t(T,E).

最新更新