所以我有这个谓词应该返回单个元素列表。但是它不断返回列表,我不确定为什么。
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).