所以我有这个谓词应该返回一个元素列表。但它不断返回列表列表,我不知道为什么。
english2133t([],[]).
english2133t([H|T], [R|E]):-
translate([H],R), english2133t(T,E).
translate只是一个迷你数据库
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", "+").
答案 0 :(得分:3)
正如您将H
括在列表中以统一字符代码一样,您需要使用[R]
,以便返回的字符代码列表与列表统一:
english2133t([],[]).
english2133t([H|T], [R|E]):-
translate([H],[R]), english2133t(T,E).