긴 조건식을 독립 구문으로 분할하는 알려진 방법 (있는 경우)을 찾고 있습니다.조건부 표현식을 프로그래밍 방식으로 분할
*IF (
(*VALUE K01_PROCESS_COUNTS.Process_Name *EQ 'python'
*OR *VALUE K02_PROCESS_COUNTS.Process_Name *EQ 'java')
*AND
(*VALUE K01_PROCESS_COUNTS.Process_Count *LT 1
*OR *VALUE K02_PROCESS_COUNTS.Process_Count *LT 2)
)
내가이 문장의 모든 가능한 조합이 사실로 싶어 :
예를 들어,이 긴 표현이있다. 수동 나는 처음 반복이 얻을 수 있습니다 :
*IF (
(*VALUE K01_PROCESS_COUNTS.Process_Name *EQ 'python')
*AND (*VALUE K01_PROCESS_COUNTS.Process_Count *LT 1
*OR *VALUE K02_PROCESS_COUNTS.Process_Count *LT 2))
*IF (
(*VALUE K02_PROCESS_COUNTS.Process_Name *EQ 'java')
*AND (*VALUE K01_PROCESS_COUNTS.Process_Count *LT 1
*OR *VALUE K02_PROCESS_COUNTS.Process_Count *LT 2))
을 그리고 두 번째는 내가 조합의 전체 설정해야합니다 :
*IF ((*VALUE K01_PROCESS_COUNTS.Process_Name *EQ 'python')
*AND (*VALUE K01_PROCESS_COUNTS.Process_Count *LT 1))
*IF ((*VALUE K01_PROCESS_COUNTS.Process_Name *EQ 'python')
*AND (*VALUE K02_PROCESS_COUNTS.Process_Count *LT 2))
*IF ((*VALUE K02_PROCESS_COUNTS.Process_Name *EQ 'java')
*AND (*VALUE K01_PROCESS_COUNTS.Process_Count *LT 1))
*IF ((*VALUE K02_PROCESS_COUNTS.Process_Name *EQ 'java')
*AND (*VALUE K02_PROCESS_COUNTS.Process_Count *LT 2))
나는 처음부터이 일을 생각
을하지만 궁금 해서요 이러한 유형의 작업에 사용할 수있는 알고리즘이 있습니까? 나는 잠시 동안을 찾고 있었지만 그것을 찾을 수 없었다. Java로 작업하고 있지만 다른 언어도 사용할 수 있습니다.
감사합니다.
아마도 알고리즘 대신 디자인 패턴을 찾고 있지 않은지 궁금합니다. 아마도 전략 패턴 범주에 속하는 상태 시스템 설계 패턴이 도움이 될 수 있습니다. https://en.wikipedia.org/wiki/State_pattern 또한 Java를 사용하면서 if else 구조에서 원하는 경우 중첩 된 switch 문을 시도 할 수 있습니다. http://www.java-examples.com/nested-switch-statements-example –
예 : 부울 표현식은 제품 합계 (AND)로 표현할 수 있습니다. 기본적으로 A AND (B OR C) 형식의 각 하위 식을 (A AND B) 또는 (A AND C)로 다시 작성해야합니다. –
즉, 수식을 https://en.wikipedia.org/wiki/Disjunctive_normal_form으로 변환하려고합니다. –