Decision - ディシジョン(決定)¶
このディシジョン コンポーネントを使用すると、条件または一連の条件を指定できます。
条件が満たされている場合はtrue、そうでない場合はfalseと見なされます。
これにより、意思決定のプロセスを自動化できます。
サポートされている機能¶
ディシジョン
コンポーネントは次の関数と演算子をサポートします。
値¶
値は、具象要素を表す端末トークンです。
- an integer
- a floating point number
- a date time
- a boolean
- a string
- a function
- a parameter
整数¶
これらは数字を使用して表されます。
123456
Int32
として評価されます。
浮動小数点数¶
ドット
を使用して小数部
を定義します。
123.456 .123
10 進数
として評価されます。
指数表記¶
e
を使用して、10 (10^) の累乗を定義できます。
1.22e1
1e2
1e+2
1e-2
.1e-2
1e10
Double
として評価されます。
日時¶
シャープ
で囲む必要があります。
#2008/01/31# // en-USカルチャの場合
日時
として評価されます。NCalcは現在のカルチャを使用してそれらを評価します。
ブール値¶
ブール値はtrue
かfalse
です。
文字列¶
単一引用符「‘」
の間の任意の文字は、文字列
として評価されます。
‘hello’
特殊文字は\, ', \n, \r, \t
を使用してエスケープできます。
パラメータ¶
パラメータを名前として使用し、必要に応じて角かっこ内に含めることができます。
2 + x、2 + [x]
関数¶
関数は、名前の後に中かっこが続き、必要に応じて任意の値を引数として含みます。
Abs(1), doSomehting(1, 'dummy')
演算子¶
式は演算子を使用して組み合わせることができます。各演算子を優先順位として指定します。これらの式の優先順位の一覧を次に示します。
1.プライマリ
2.単項演算子
3.べき乗演算子
4.乗法演算子
5.加法演算子
6.関係演算子
7.論理演算子
論理演算子¶
他の式間で論理比較を行うことができます。
or,||
and,&&
true または false
and
演算子の優先順位は or
より高いため、上記の例では false と true が最初に評価されます。
関係演算子¶
関係演算子は、値を比較するために使用されます。これらの演算子は常にブール値になります。
=, ==, !=, <>
<, <=, >, >=
1 < 2
加法演算子¶
加算演算子は、加算と文字列の連結(+)と減算(-)に使用されます。加算演算子は、加算式に表示されます。
* +、-
1 + 2 – 3
乗法演算子¶
乗法は、乗算()、除算(/)、および剰余演算(%)に使用されます。乗法演算子は乗法式に現れます。
、/、%
1 * 2%3
ビット¶
10 進数は人間にとって自然です。2 進数はコンピュータ固有です。2 進数、8 進数、10 進数、または 16 進数は、同じ数値の表記にすぎません。ビット演算子は、2 進数のビットを処理します。
* & (ビットの and), | (ビットの or), ^(ビットの xor), << (左シフト), >>(右シフト)
2 >> 3
単項演算子¶
式またはステートメント内の単一オペランドを受け取る単項演算子
* !, not, -, ~ (ビットの not)
not true
プライマリ¶
2つの主要な演算子を使用して、構造体およびユニオンメンバーを指定できます。ドット(ピリオド)および矢印(マイナス記号と大なり記号で形成)演算子は、常にプライマリ式が先行し、その後に識別子が続きます。
(、)
values
2 *(3 + 2)
フレームワークには、既に実装されている関数
のセットが含まれています。
名前 | 説明 | 使用法 | 結果 |
---|---|---|---|
Abs | 指定した数値の絶対値を返します。 | Abs(-1) | 1M |
Acos | コサインが指定した数値の角度を返します。 | Acos(1) | 0d |
Asin | サインが指定した数値の角度を返します。 | Asin(0) | 0d |
Atan | タンジェントが指定した数値の角度を返します。 | Atan(0) | 0d |
Ceiling | 指定した数値以上の最小整数を返します。 | Ceiling(1.5) | 2d |
Cos | 指定した角度のコサインを返します。 | Cos(0) | 1d |
Exp | eを指定した累乗で返します。 | Exp(0) | 1d |
Floor | 指定した数値以下の最大整数を返します。 | Floor(1.5) | 1d |
IEEERemainder | 指定した数値を別の指定した数値で除算した結果の剰余を返します。 | IEEERemainder(3, 2) | -1d |
Log | 指定した数値の対数を返します。 | Log(1, 10) | 0d |
Log10 | 指定した数値の 10 を底とする対数を返します。 | Log10(1) | 0d |
Max | 指定した2つの数値のうち大きい方を返します。 | Max(1, 2) | 2 |
Min | 2つの数値のうち小さい方を返します。 | Min(1, 2) | 1 |
Pow | 指定した数値を指定した累乗で返します。 | Pow(3, 2) | 9d |
Round | 値を最も近い整数または指定した小数点以下の桁数に丸めます。中間数値の動作は、式オブジェクトの構築中に、 EvaluateOption.RoundAwayFromZeroを使用して変更できます。 | Round(3.222, 2) | 3.22d |
Sign | 数値の符号を示す値を返します。 | Sign(-10) | -1 |
また、他の汎用的なものも含まれています。
名前 | 説明 | 使用法 | 結果 |
---|---|---|---|
in | 要素が値のセット内にあるかどうかを返します。 | in(1 + 1, 1, 2, 3) | TRUE |
If | 条件に基づいて値を返します。 | if(3 % 2 = 1, 'value is true', 'value is false') | 'value is true' |
ポート¶
ディシジョン
コンポーネントは、既定でコントロール入力ポートとコントロール出力ポートを公開し、動的に作成されたデータ入力ポートを公開します。
ポート | 説明 |
---|---|
Control In | 1つ以上のコンポーネントのコントロール出力ポートに接続する必要があります。 |
Control Out | 他のコンポーネントの コントロール入力 ポートに接続する必要があります。 |
ディシジョン コンポーネントは、次の 2 種類のコントロール出力ポートを公開します。 | |
* 成功: データ型が同じである限り、他のコンポーネントの コントロール入力 ポートに接続されます。 | |
* 失敗: データ型が同じである限り、他のコンポーネントの コントロール入力 ポートに接続されます。 | |
Data In | ディシジョン コンポーネント内の変数のデータを収集する別のコンポーネントのデータ出力ポートに接続できます。このポートは、ディシジョン コンポーネントで指定した変数の名前で動的に作成されます。 |
プロパティ¶
ディシジョン
コンポーネントのプロパティを編集するには、右下のペインで必要なプロパティを変更します。
これは、ディシジョン
コンポーネントを使用して実行するアクションを選択するために必要です。
次のプロパティを編集可能です。
プロパティ | 説明 |
---|---|
Search | それぞれのプロパティを検索します。 |
Delay After Execution | アクションが実行された後の(秒単位)待機時間を指定します。 |
Delay Before Execution | アクションが実行されるまでの待機時間(秒単位)を指定します。 |
Name | ディシジョンコンポーネントの名前を指定します。操作しているアプリケーション フィールドと一致するように名前を設定します。 |
例¶
数値が40以上かどうかを判断する例を見てみましょう。
ディシジョン
コンポーネントを使用するには:
ツールボックス
で、Conditions(条件)
を展開します。ディシジョン
コンポーネントをドラッグし、デザインサーフェイスにドロップします。- タイトル バーの下に、論理条件を入力します。たとえば、条件 x>=40。データ入力ポートは、
ディシジョン テキスト ボックス
で指定した変数の名前で動的に作成されます。
この例では、'X' の値を定義する数値を追加し、条件が満たされているかどうかを確認します。アクションを実行するには、ユーザーは変数コンポーネントを追加する必要があります。 - 変数コンポーネントを追加するには:
- ツールボックスで、
全般
を展開します。 変数
コンポーネントをドラッグし、デザインサーフェイスにドロップします。変数
コンポーネントをダブルクリックし、数値を入力します。
また、条件を満たさない場合に成功と失敗の通知を表示する 2 つの MessagBoxShow
コンポーネントを追加する必要があります。
- ツールボックスで、
- MessagBox Show コンポーネントを追加するには:
- ツールボックスで、
全般
を展開します。 - MessagBox コンポーネントを展開し、
Show
コンポーネントをドラッグしてデザインサーフェイスにドロップします。 Show
コンポーネントのテキストボックスをダブルクリックして、成功の通知で表示されるメッセージを入力します。- 別の
Show
コンポーネントを追加して同じ手順を繰り返し、失敗の通知で表示されるメッセージを追加します。
- ツールボックスで、
- 接続します:
- Startコンポーネントの
コントロール出力ポート
を変数
コンポーネントのコントロール入力ポート
へ。 変数
コンポーネントのコントロール出力ポート``をディシジョン
コンポーネントのコントロール入力ポートへ
。変数
コンポーネントのデータ出力ポート
をディシジョン
コンポーネントのデータ入力ポート
へ。ディシジョン
コンポーネントのTrueコントロール出力ポート
をpass MessagBox
コンポーネントへ。ディシジョン
コンポーネントのFalseコントロール出力ポート
をfail MessagBox
コンポーネントへ。
- Startコンポーネントの
- ツールバーの、
Run
をクリックします。
条件が正常に満たされると、成功メッセージが表示されます。
条件が満たされない場合、失敗メッセージが表示されます。