从事实中提取价值
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)
我是 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)