2016-08-04 2 views
1

Lotus Formula에서 Lotus Script로 약 20 년 된 코드를 번역해야합니다. 원래 코드에는 Lotus Script에서 구현되지 않은 일부 전임 연산자가 포함되어 있습니다.순열 연산자에서 LotusScript로 순열 연산자를 어떻게 변환합니까?

여기 제가 번역해야하는 라인 중 하나입니다.

@If(Transport *= "Car" : "Bus" : "Boat" | (Transport *= "Airplane" & someOtherCondition); doSomething; doSomethingElse) 

은 내가 doc.getFirstItem("Transport").Contains("Airplane")에 의해 Transport *= "Airplane"를 번역 할 수 있습니다 알고 있지만 Transport *= "Car" : "Bus" : "Boat"에 대한 어떤 스탠드?

평가 기능을 사용하고 싶지 않습니다. 다른 선택 사항이없는 경우에만 사용합니다.

여기에는 순열 연산자 공식 문서에 link이 있습니다.

답변

2
List1 *= List2 

*=목록 2는 매주 요소 목록 1의 모든 요소를 ​​비교한다. 적어도 하나의 일치가 있다면 @True를 반환합니다. 목록 2의 요소 등 목록 2의 소자와 함께 목록 1에서 요소 목록 1의 소자 :

List1 = List2 

=는 쌍대 비교한다. 한 목록의 요소 수가 다른 요소보다 적 으면 더 짧은 목록의 마지막 요소가 더 긴 목록의 나머지 요소와 비교하는 데 사용됩니다. 적어도 하나의 일치가 있다면 @True를 반환합니다.

*=은 목록이 양쪽에만있는 경우에만 =과 다릅니다.

귀하의 수식을

@If(Transport *= "Car" : "Bus" : "Boat"; ... 

아직

set item = doc.getFirstItem("Transport") 
If item.Contains("Car") Or item.Contains("Bus") Or item.Contains("Boat") Then 
    ... 

에 "번역"할 수있다, LotusScript와의 Evaluate를 사용하는 것을 망설이지 말라 : 그것은 빠르고 안정적입니다.

+0

전송이 결코 목록이 아닐까요? –