例: 連結、比較、長さの判定をする

  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 + ")")