从事实中提取价值

Get extract value from fact

我是 prolog 的新手,被卡住了。 我需要在计算过程中存储一个带有一些字符串的变量,我决定通过向我正在使用的 class 添加一个 "single fact" 来做到这一点。一切正常,正在存储字符串,但是当我尝试添加代码以稍后访问它时,编译器 returns 出现错误 "The expression has type 'dataBL::dataBL@objectDB', which is incompatible with the type '::symbol'".
我不认为这是存储变量的有效方法,所以,有人可以帮我吗?我尝试在网上搜索答案,但一无所获。

我正在尝试访问这样的事实:

    getString(U) :-
    U = stringStorage(_).

如果我没看错,您需要存储与某个变量 ID (key) 关联的 value 作为事实。您的任务的(抽象)解决方案可以将您的价值观存储为事实:

bind( Key, Value ).

实现示例(SWI Prolog)

存储

recordz('var1', "String value1"),

recordz('var2', "String value2")

正在查询 var2

的值
current_key(-Key), 

Key = 'var2'

recorded(Key, Value)