Я пытаюсь сделать калькулятор слов .. читать слова из файла .. перевести их в числа, а затем вычислить результат .. мне удалось сделать все это, но я думаю, что у меня есть две ошибки в моей программе ..Prolog Backtracking
я в основном две функции ...
экстракт (слова), Calculate (Слова, 0).
экстракт будет читать из файла .. а затем возвращает список слов .. например: [один, плюс три] .. Вычислим теперь переведет значение этих слов в числа и вычислить .. I удалось сделать это тоже .. теперь ошибки: я должен прекратить чтение и завершение, если я столкнулся с остановкой в файле. так, если бы слова были [остановлены] Конец. я попытался следующие ...
execute :-
extract(Words),
Words = [stop],nl,print('Terminating ...'),!.
execute :-
extract(Words),
calculate(Words,0).
успешно завершается .. но он пропускает строки, как я извлечь больше, чем один раз .. я пытался сделать ..
execute :-
extract(Words),
Words \= [stop],execute(Words).
execute(Words) :-
calculate(Words,0).
если слова не останавливается .. затем перейдите и вычислите .. но его не работает !!
я ценю помощь .. Спасибо
Спасибо за ответ .. я попытался сделать это .. он ловит остановку .. печать .. но она продолжает читать .. я хочу, чтобы она перестала разбирать файл, и вот оно .. я не могу просто скажем, видел, сказал, после этого, чтобы прекратить читать .. Большое спасибо .. Я ценю вашу помощь – AhmadAssaf
s (X) для ссылки на 'pio'. – repeat