式言語
例:連結、比較、長さの判定をする
1
(+). 次の例は、2 つの文字列を連結して ABCDEF にします。
@Prompt([Ok]; "Concatenation"; "ABC" + "DEF")
2 (+). 次の例は、2 つの入力文字列を連結します。
Input1 := @Prompt([OkCancelEdit]; "Concatenation - first element"; "Enter any text in the box"; "ABC");
Input2 := @Prompt([OkCancelEdit]; "Concatenation - second element"; "Enter any text in the box"; "DEF"); @Prompt([Ok]; "Concatenation - result"; Input1 + Input2)
3 (=). 次の例は、2 つの入力文字列が等しければ YesNo に True を返します。等しくなければ False を返します。
Input1 := @Prompt([OkCancelEdit]; "Comparison - first element"; "Enter any text in the box"; "ABC");
Input2 := @Prompt([OkCancelEdit]; "Comparison - second element"; "Enter any text in the box"; "DEF");
YesNO := @If(Input1 = Input2; "The strings are equal"; "The strings are not equal"); @Prompt([Ok]; "Comparison - result"; YesNo)
4 @Length。次の例は、abcdefghi の長さの 9 を表示します。
@Prompt([Ok]; "Length of abcdefghi"; @Text(@Length("abcdefghi")))
5 @Length。次の例は、数値リストを作成します。このリストの各要素には、TextList 内の対応する要素の長さが入ります。
@Length(TextList)
6 @Matches。次の例は、Input が abc と等しければ YesNo に True を返します。
Input := @Prompt([OkCancelList]; "@Matches Input"; "Choose one"; "abc"; "abc" :"bcd" :"cde" :"xyz" :"123");
YesNo := @If(@Matches(Input; "abc"); " matches abc"; " does not match abc"); @Prompt([Ok]; "@Matches Result"; Input + YesNo)
7 @Matches。次の例は、Input のすべての文字がアルファベットなら、つまり a から z の範囲内なら YesNo に True を返します。{a-z} のセットで文字の範囲を指定し、その前の + は一致する回数が任意であることを示します。
Input := @Prompt([OkCancelList]; "@Matches Input"; "Choose one"; "abc"; "abc" :"bcd" :"cde" :"xyz" :"123");
YesNo := @If(@Matches(Input; "+{a-z}"); " matches +{a-z}"; " does not match +{a-z}"); @Prompt([Ok]; "@Matches Result"; Input + YesNo)
8 @Matches。次の例は、Input のすべての文字がアルファベット以外なら、つまり {a-z} セットの範囲外であれば YesNo に True を返します。{!a-z} の指定で、a から z の範囲外であることを表しています。その前の + は一致する回数が任意であることを示します。
Input := @Prompt([OkCancelList]; "@Matches Input"; "Choose one"; "abc"; "abc" :"bcd" :"cde" :"xyz" :"123");
YesNo := @If(@Matches(Input; "+{!a-z}"); " matches +{!a-z}"; " does not match +{!a-z}"); @Prompt([Ok]; "@Matches Result"; Input + YesNo)
9 @Matches。次の例は、任意の数の任意の文字で囲まれた状態で文字 bc が Input に含まれていれば、YesNo に True を返します。
Input := @Prompt([OkCancelList]; "@Matches Input"; "Choose one"; "abc"; "abc" :"bcd" :"cde" :"xyz" :"123");
YesNo := @If(@Matches(Input; "*bc*"); " matches*bc*"; " does not match *bc*"); @Prompt([Ok]; "@Matches Result"; Input + YesNo)
10 @Matches。次の例は、Input が a か 1 で始まり、3 文字の長さなら YesNo に True を返します。
Input := @Prompt([OkCancelList]; "@Matches Input"; "Choose one"; "abc"; "abc" :"bcd" :"cde" :"xyz" :"123");
YesNo := @If(@Matches(Input; "a??|1??"); " matches a??|1??"; " does not match a??|1??"); @Prompt([Ok]; "@Matches Result"; Input + YesNo)
11 @Like。次のエージェントの例は、各文書の [textBody] フィールドにある 2 つの文字列セットを調べます。最初の文字列は、「acquisition」と「Acme」をこの順序で含む文字列です。2 番目の文字列は、「Acme」と「51%」をこの順序で含む文字列です。2 番目の @Like ステートメントではスラッシュ (/) をエスケープ文字として使っているので、パーセント記号 (%) を指定できます。エスケープ文字として円記号 (\) は使わないでください。
@If(@Like(textBody; "%acquisition%Acme%"); @Prompt([Ok]; "Found reference to \"acquisition\""; Subject); "");
@If(@Like(textBody; "%Acme%51/%%"; "/"); @Prompt([Ok]; "Found reference to \"51%\""; Subject); "");
SELECT @All
12 このアクションはリストを値「N」と比較し、その結果を表示します。Boston と Moscow の結果は -1 (N より小さい)、Tokyo は 1 (N より大きい)、n と N は 0 です。
list := "Boston" :"Tokyo" :"Moscow" :"N" :"n";
result := @text(@compare(list; "N"; [CaseInsensitive]));
@Prompt([OkCancelList] :[NoSort];
"Result"; ""; ""; list + " (" + result + ")")
関連項目
連結、比較、長さの判定をする
用語集
フィードバック
ヘルプ
または
プロダクトユーザビリティ
?
ヘルプの使い方
すべてのヘルプ項目
用語集