簡體   English   中英

如何在一個 assert/1 語句中斷言多個事實或規則?

[英]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/1assertz/1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM