[英]How to assert multiple facts or rules in one assert/1 statement?
如果我在 repl,我可以做
?- assert(foo(a)),assert(foo(b)),assert(foo(c)).
那行得通,但不行
?- assert((bar(a),bar(b),bar(c))).
或類似的。 有沒有辦法只需要輸入一次“斷言”並傳入多個事實? 規則的相同問題。
謝謝!
我嘗試了上面提到的幾種變體來實現這一點,但無法弄清楚如何去做。 還查看了 assert/1 的文檔,但它沒有顯示如何。
也許您可以改為咨詢用戶?
?- [user].
:- dynamic(foo/1).
foo(a).
foo(b).
foo(c).
按 Ctrl-D 結束咨詢。 如果您只想向數據庫添加子句,則可能不需要鍵入dynamic/1
指令。
PS assert/1
是一個已棄用/遺留的謂詞。 如果必須,請改用assrta/1
或assertz/1
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.