Module 是否获取已添加到引擎的规则列表?

Module 是否获取已添加到引擎的规则列表?,module,erlang,rules,rule-engine,Module,Erlang,Rules,Rule Engine,是否有方法获取已添加到ERESYE规则引擎的规则列表?假设我有这样一个函数: start () -> eresye:start(engine), eresye:add_rule(engine, {module, a_rule_function}), eresye:add_rule(engine, {module, another_rule_function}), %% do some other stuff ok. 给定引擎的名称,是否有方法检索已添加的所有规则函数的

是否有方法获取已添加到ERESYE规则引擎的规则列表?假设我有这样一个函数:

start () ->
  eresye:start(engine),
  eresye:add_rule(engine, {module, a_rule_function}),
  eresye:add_rule(engine, {module, another_rule_function}),
  %% do some other stuff
  ok.
给定引擎的名称,是否有方法检索已添加的所有规则函数的数组?我可以自己跟踪这一点,但如果我能像
eresye:list\u rules(engine)
这样做会更容易

提前谢谢

查看,规则似乎以进程状态下的
eresye_树列表的形式存储。您可以获取整个“rete”并使用以下内容提取树:

[_, _, Tree, _, _] = eresye:get_rete(engine).
然后,您可以使用
eresye_树列表
模块中的函数遍历
,并将其转换为列表。将其作为
eresye
模块本身的一部分来实现可能是有意义的