Я пытаюсь сделать калькулятор слов .. читать слова из файла .. переводить их в числа и затем вычислять результат .. мне удалось все это сделать, но я думаю, что в моей программе есть две ошибки
У меня в основном две функции ...
экстракт (слова),
рассчитать (слова, 0).
Извлечение прочитает из файла .., а затем вернет список слов .. например: [один, плюс, три] ..
Теперь рассчитать переведет значение для этих слов в числа и рассчитать ..
мне удалось сделать это также ..
Теперь ошибки: я должен прекратить чтение и прекратить, если я столкнулся с остановкой в файле ..
так что, если Слова были [стоп] Конец.
я попробовал следующее ...
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).
если Слова не остановятся .. тогда иди и посчитай ... но это не работает !!
Я ценю помощь ..
Спасибо