2

[1, 2, 3]のような数字のリストが与えられると、それらをそれらの数字を表す単語のリストに変換するような Prolog プログラムを作成しようとしています['one', 'two', 'three']

これまでの私のコード:

totext(0, 'zero').
totext(1, 'one').
totext(2, 'two').
totext(3, 'three').
totext(4, 'four').
totext(5, 'five').
totext(6, 'six').
totext(7, 'seven').
totext(8, 'eight').
totext(9, 'nine').

translate([], []).
translate([Head|Rest], [TranslatedHead|TranslatedRest]) :-
   totext(Head, TranslatedHead),
   translate(Rest, TranslatedRest).

gprologファイルをロードして参照すると、次のようになります。

translate([], X).

私は正しく得ます:

X = []
yes

しかし、私がするとき

translate([1,2], X).

私は得る:

uncaught exception: error(existence_error(procedure,totext/0),translate/0)

私は Prolog を初めて使用します (これが初めての Prolog プログラムです)。ここで何が問題なのかわかりません。何か案は?ありがとう。

4

1 に答える 1