Это действительно из голубой, так как я не месили Пролог в течение длительного времени, но я немного удивлен усилиями по написанию веб-приложений в Prolog, и потому, что я сочувствую (длинный рассказ: я пробовал себя много лет назад, но это был не чистый Prolog), я подумал, что могу просто воспользоваться своим шансом указать вам что я заметил, прочитав e документация. Его ясность и экстенсивность, кстати, составляют , а не, почему PWP является «знаменитым», я полагаю.
Тем не менее, похоронен где-то на странице PWP, с которой вы связались, есть рекламный ролик об атрибуте pwp:use
, который, как говорят, принимает значение Term
.
Term
- срок пролога; переменные в Term
связаны контекстом. Пустое значение Term
считается отсутствующим значением для этого атрибута. Переменная Prolog CONTEXT
относится ко всему контексту, список Name = Value
, где Name
- это пролог, содержащий имя переменной контекста, а Value
- произвольный термин Пролога.
Похоронен где еще, а именно documentation page для reply_pwp_page/3
(ой, нет reply_pwp_file/3
там на странице вы связаны, на самом деле, даже если вы использовали его), есть еще один интересный фрагмент листинга содержимое SO- называется исходный контекст, и в частности:
QUERY
[это] Var=Value
список, представляющий параметры запроса-
Поскольку нет подсказки или предположения или даже примера использования списка параметров запроса, но это вряд ли является наихудшей проблемой для тех, кто вынужден писать веб-приложения в Prolog в любом случае - мой личный подход заключается в том, что имя для параметра запроса id
только id
(надеясь, что Var
- это просто неправильное имя для Param
, а не настоящая переменная Prolog) и что это значение, ну, просто значение, но тогда мы ничего не знаем о конверсиях или что-то еще, что может произойти автоматически во время разбора запроса string, так как в строке запроса все есть, ну, строка, но вам может понадобиться числовое значение id
, и вы, вероятно, останетесь на своем собственном преобразовании этой строки в число. Наверное, там какой-то волшебный предикат делает именно это. Разве Пролог не замечательный?
Итак, без какой-либо другой подсказки и с большой благодарностью за тех, кто пишет документацию этого ... материала, моя дикая догадка заключается в том, что вам нужен где-то следующий элемент, но пустой span
, тем не менее, что является незаконным в любом разумно действительный HTML документ:
<span pwp:ask="..."/>
, где, как значение ask
, вы должны предоставить запрос, который пересекают CONTEXT
список (с помощью member/2
, может быть?) до тех пор, пока не найдет член вида 'QUERY'=QueryParameters
; то в QueryParameters
у вас должен быть список фактических параметров запроса, поэтому вам нужно пройти его таким же образом, как и список CONTEXT
, и когда вы найдете здесь термин «id=N
», вы, наконец, N
должны содержать значение вашего вряд ли заработал идентификатор пользователя.
Теперь я действительно надеюсь, что это проще, чем то, что я изложил. Помните, это просто дикая догадка, глядя на документацию, на которую вы указали. Но, в то время как другие, вероятно, будут заняты путём голосования по этому вопросу по ряду причин (и, надеюсь, потому, что это просто неправильно, а решение проще), мое последнее предложение о разводе - это обсуждение ограничений вашего проекта опять же с тем, кто отвечает за них, потому что писать веб-приложения в Prolog - это действительно необоснованная вещь, когда есть много из фреймворков (frameworks, я говорю, не только какой-то модуль брошен в стандартную библиотеку для " больше хорошего "), написанные на других языках, которые невероятно хорошо документированы, гораздо проще понять и, конечно же, использовать.
Действительно ли «знаменитая» библиотека PWP? Если я google 'pwp library', я никогда не получаю ни одного URL-адреса ... Это безумие ... – CapelliC