Я пробовал функторный перевод ([3,5,1,3], [три, пять, один, три]), который выполняет операцию печати чисел. Я получаю странное предупреждение при выполнении этого,
35? - перевод ([1,2,3], [a, b, c]).
ОШИБКА: запись / 2: поток `a 'не существует
domains
list1=integer*
list2=symbol*
предикаты
translate(list1,list2)
means(integer,symbol)
пункты
translate([],[]).
translate([],_):-
write("\nError in Input").
translate(_,[]):-
write("\nError in Input").
translate([Head1|Tail1],[Head2|Tail2]):-
write(Head2," = "),
means(Head1,Name),
write(Name,"\n"),
translate(Tail1,Tail2).
means(0,zero).
means(1,one).
means(2,two).
means(3,three).
means(4,four).
means(5,five).
means(6,six).
means(7,seven).
means(8,eight).
means(9,nine).
В чем именно проблема? Это ожидаемое значение.
перевод ([1,2,3], [а, б, в])
а = один
б = два
с = три
Да