2017-11-30 10 views
0

규칙이 실행될 때마다 일부 변수의 값을 증가 시키거나 변경하는 방법이 있습니까? 다음 예제에서 연결에이 값을 사용할 것이므로 모든 규칙 규칙에서 화재가 슬롯의 새 값을 도입해야합니다. 델타를 별표로 변환하는 전기 회로 및 규칙이 있습니다. 모든 변환 제품에 대해 추가 노드가 있습니다. 간단한 네트워크의 경우 T라는 이름을 지정했지만 더 복잡한 네트워크의 경우 규칙이 다른 델타에 대해 트리거 될 때마다 T 노드가 가득한 네트워크로 끝납니다.Jess 규칙이 발생할 때마다 변수를 증가 시키거나 변경하십시오.

+0

모든 규칙에 하나의 변수가 필요하거나 특정 규칙에 대해 하나의 변수가 필요하거나 특정 규칙에 대해 변수가 필요합니까? 변수 (들)가 사실의 슬롯이되거나 편리하지 않습니까? - 나는 당신이 쓴 것을 대부분 이해하지 못했지만 어쨌든 그것은 중요하지 않으며 필수 정보가 빠져 있습니다. – laune

+0

특정 규칙이 실행될 때 증가하는 변수 하나가 필요합니다 (규칙의 오른쪽에 있음). 슬롯 값 중 일부를 채우는 데 사용되는 도움말 변수 일뿐입니다. – Sanja

답변

1

제스에는 특별한 종류의 변수가 있습니다 : 전역 변수. 그것들은 규칙의 RHS를 포함하여 프로그램의 모든 부분에서 볼 수 있습니다. 만들려면 defglobal을 사용하십시오.

(defglobal ?*firecount* = 0) 

별표는 필수 항목입니다.

당신은 다른 변수처럼 그들을 사용하지 심지어 reset 글로벌 지워

(++ ?*firecount*) 
(printout t "fire counter = " ?*firecount* crlf) 

참고. - 자세한 내용은 Jess 매뉴얼을 참조하십시오.