У меня возникают проблемы с выяснением того, как получить доступ к одному символу из списка строк, не используя рекурсию, а вместо этого вернувшись назад.
Например, у меня есть этот список строк, и я хочу иметь возможность вернуть один символ из одной из этих строк ('.' 'O', '*'). Программа, над которой я работаю, обрабатывает ее как строки и столбцы. Это факт в моей базе данных, который выглядит так:
matrix(["...o....",
".******.",
"...o....",
".*...*..",
"..o..*..",
".....*..",
".o...*..",
"....o..o"].
У меня есть предикат:
get(Row,Col,TheChar) :-
, который принимает номер строки и столбца (с индексом, начинающимся с 1) и возвращает запись (TheEntry) в этой конкретной строке и столбце.
У меня такое чувство, что моя голова предиката может быть построена неправильно, но я действительно больше сосредоточен на том, как проходить каждую строку в списке символ за символом без рекурсии и возвращать ее.
Я новичок в прологе, и у меня возникли серьезные трудности с этим.
Любая помощь будет принята с благодарностью!
Спасибо!