clips - How to Reset the fact-index when assert new fact? -
i have embedded clips c language. have situation this: in .clp file, have fact list
(deftemplate sensor (slot name) (slot status)) (deffacts frontsensor (sensor (name 1) (status 1)) (sensor (name 2) (status 1)) (sensor (name 3) (status 0)) (sensor (name 4) (status 0)) (sensor (name 5) (status 1)) (sensor (name 6) (status 0)) (sensor (name 7) (status 0)) (sensor (name 8) (status 0)))
now want cancel these facts , assert new facts in list. use retract(factptr);
cancel facts , use assertstring("(sensor (name 1) (status 0))");
assert fact. , print fact list, result
f-0 (initial-fact) f-11 (sensor (name 1) (status 0)) f-12 (sensor (name 2) (status 0)) f-13 (sensor (name 3) (status 1)) f-14 (sensor (name 4) (status 0)) f-15 (sensor (name 5) (status 0)) f-16 (sensor (name 6) (status 0)) f-17 (sensor (name 7) (status 1)) f-18 (sensor (name 8) (status 1)) total of 9 facts.
the fact-index start 11 instead of 1, wonder if there function or solution new asserted fact can start f-1. ps:clear()
function can reset fact-index, rules cleaned. seems not helpful.
thank answers or ideas.
the reset() function remove facts , reset fact-indices without removing of rules.
Comments
Post a Comment