2016-08-04 8 views
1

私はロータス・フォーミュラから20年前のコードをロータススクリプトに翻訳しなければなりません。元のコードには、私はLotus Scriptで実装されていないと思われるいくつかの前処理演算子が含まれています。ロータス式から順列演算子をロータススクリプトに変換するにはどうすればいいですか?

ここで私が翻訳しなければならない行の1つです。

@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 

*=LIST2からのすべての要素とのList1からすべてのの要素を比較します。少なくとも1つのマッチがある場合は、@ Trueを返します。

List1 = List2 

=ペアワイズの比較:ようにLIST2から要素、LIST2から要素とのList1から要素とのList1から最初要素を、そして。一方のリストの要素の数が他方の要素の数よりも少ない場合、短いリストの最後の要素は、長いリストの残りの要素との比較に使用されます。少なくとも1つのマッチがある場合は、@ 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

トランスポートはこれまでのリストではないと確信していますか? –

関連する問題