私は単語の電卓をしようとしています。ファイルから単語を読み込み、数値に変換して結果を計算します。私はそれをすべて行いましたが、私は自分のプログラムに2つのバグがあると思います..Prolog Backtracking
が、私は主に二つの機能...
エキス(単語)、 計算持つ(単語、0)。
抽出物は、ファイルから読み込ん...、その後、単語のリストを返します。..例:[1、プラス、3] .. は今 に..私の数字にこれらの単語の値を変換して計算します計算.. 単語が[stop] Endだったならば、私はファイル内で停止した場合、読み込みを停止して終了する必要があります。 言葉ならば..私が何をしようとしている ...
execute :-
extract(Words),
Words \= [stop],execute(Words).
execute(Words) :-
calculate(Words,0).
を私はそれが正常に終了...
execute :-
extract(Words),
Words = [stop],nl,print('Terminating ...'),!.
execute :-
extract(Words),
calculate(Words,0).
を以下を試してみました..しかし、私は複数回の抽出とそれがラインをスキップ停止していない..行くと計算..しかし、それは動作していない!
私は が
レスポンスありがとうございます。私はそれをしようとしています..それは停止..印刷をキャッチしていますが、それは読んで..私はそれがファイルを解析し、それをthats ..読んでいないことを止めることを教えてくれました。ありがとうございます。私はあなたの助けを感謝します。 – AhmadAssaf
'pio'への参照のために(X)。 – repeat