С помощью функции exec() я могу видеть массив с полученным результатом, но проблема в том, что в коде Пролога у меня есть функция read(), которая позволяет мне, чтобы вставить значение. Проблема в том, что я не знаю, как обрабатывать несколько функций чтения Пролога из php.
Кто-нибудь знает способ решить мою проблему?
Код моей программы на Прологе выглядит следующим образом:
Мне хотелось бы найти способ использовать больше функций чтения пролога в одной и той же программе, не запрашивая каждый раз базу знаний. Я использую swi-prolog
У меня есть программа на Прологе, которую я подключил к php. Я вызываю файл Пролога из php следующим образом: [code]$cmd = "swipl -f /path/to/my_file/prolog.pl -g test,halt -t 'halt(1)'"; exec( $cmd, $output); print_r($output); [/code] С помощью функции exec() я могу видеть массив с полученным результатом, но проблема в том, что в коде Пролога у меня есть функция read(), которая позволяет мне, чтобы вставить значение. Проблема в том, что я не знаю, как обрабатывать несколько функций чтения Пролога из php. Кто-нибудь знает способ решить мою проблему? Код моей программы на Прологе выглядит следующим образом: [code]start:- write('-----------------------------------------------------------------------'), nl, write(' Welcome'), nl, write('-----------------------------------------------------------------------'), nl, choices.
choices:- read_choices, read(S), ((S == 1; S == one) -> Reply = choice1; ((S == 2; S == two) -> Reply = choice2; ((S == 3; S == three) -> Reply = choice3; ((S == 4; S == four) -> Reply = exit_choice; (Reply = unknown) )))), nl, (Reply == exit_choice -> exit_from_program; (Reply == unknown -> (write('Reply not recognized'), start); (selection(Reply), end_guide(Reply), execute_again('Do you need help?')) )), nl.
exit_from_program:- write('Closed by the user'),nl.
selection(choice1):- write('choice1 selected').
selection(choice2):- write('choice2 selected').
selection(choice3):- write('choice3 selected'). [/code] Мне хотелось бы найти способ использовать больше функций чтения пролога в одной и той же программе, не запрашивая каждый раз базу знаний. Я использую swi-prolog