0
세미 콜론 :Drools가 MVEL 방언 - 내 이클립스 Drools가 컴파일러 (6.5.0)는 다음과 같이 For 루프에서 문장의 끝에 세미콜론이 필요 이유에 불과 궁금 요구 사항
Map businessRulesRequest = $root.containsKey("BusinessRulesRequest") ? $root.get("BusinessRulesRequest") : null
Map quoteRequest = businessRulesRequest!=null && businessRulesRequest.containsKey("QuoteRequest") ? businessRulesRequest.get("QuoteRequest") : null
List resultsByKey = quoteRequest!=null && quoteRequest.containsKey("resultsByKey") ? quoteRequest.get("resultsByKey") : new ArrayList()
for (Map search : resultsByKey) {
Map searchInfo = (search.containsKey("searchInfo") ? search.get("searchInfo") : null);
String searchName = searchInfo!=null && searchInfo.containsKey("searchName") ? searchInfo.get("searchName").toString() : "";
List results = (searchName=="quotesMotor" && search.containsKey("results") ? search.get("results") : new ArrayList());
}
을
For 루프의 첫 번째 또는 두 번째 줄에서 세미콜론을 제거하면 "예기치 않은 토큰"오류가 발생하지만 루프의 마지막 줄에서 제거됩니다.
RHS 줄을 단일 문으로 평가하기 때문에 Drools가 모든 루프 내에서 분리되어야합니까?
참고 : 필자는 세미콜론이 필요하지 않다고 가정하고 코드를 작성하는 것이 좋지 않다고 생각하지만 실험 중에이 문제를 발견했으며 컴파일러 오류 이유를 알고 싶어했습니다. 감사.
감사를 희망하고, "만일"는 취급 같은 세미콜론은 줄의 끝에 추가되어 있지 않은 경우는 치료 그래서 예는 등 한 줄과 같은 내용 "를"보인다 하나의 성명서로 안전을 기하기 위해 모든 라인에 세미콜론을 추가하는 것이 가장 좋습니다. – Neil