接続チェック ハンドブック

このドキュメントでは、接続チェックを使用する方法について説明します。

値の例

入力と出力の接続チェックを定義する場合は、通常、チェックを型を表すものと考えてください。

入力のチェックには、受け入れるすべての「型」を含める必要があります。出力のチェックには、「返す」ものを正確に含める必要があります。

単一のタイプを受け入れます

1 つの型を「受け入れる」または「返す」ブロックを作成する最も基本的なケースでは、その型を接続の接続チェックに含める必要があります。

単一の型を受け入れる値ブロック

複数のタイプを受け入れる

複数のタイプを「受け入れる」ブロックを作成するには、受け入れられるすべてのタイプを入力の接続チェックに含める必要があります。

複数の型を受け入れる値ブロック

規則として、出力が複数の状況で時々受け入れられる場合(数値を文字列として使用できるようにする場合など)、出力はより制限が厳しく、入力はより許容度が高くする必要があります。この規則により、出力がサポートされていない場所に接続しないようにします。

任意の種類を受け入れます

任意のタイプを「受け入れる」ブロックを作成するには、入力の接続チェックを null に設定する必要があります。

任意の型を受け入れる値ブロック

戻りサブタイプ

サブタイプを「返す」ブロックを作成するには、出力の接続チェックにタイプとスーパータイプの両方を含める必要があります。

型とスーパータイプを返す値ブロック

サブタイプの場合、ブロックは常に両方の型を「返す」ため、出力チェックに複数のチェックを含めても問題ありません。

パラメータ化された型を返す

パラメータ化された型を「返す」ブロックを作成するには、出力の接続チェックにパラメータ化されたバージョンとパラメータ化されていないバージョンの両方を含める必要があります。

ブロック言語の厳密さに応じて、型のバリエーションを含めることもできます。

パラメータ化された型とパラメータ化されていない型を返す値ブロック

サブタイプの場合と同様に、この場合の出力チェックに複数のチェックを含めることもできます。ブロックは常に両方の型を「返す」ためです。

スタックまたはステートメントの例

デベロッパーが前後の接続のチェックを定義する一般的な方法はいくつかあります。通常、これらはブロックの順序付けを制限するものと考えられます。

次の接続には、現在のブロックの後に続くブロックを含める必要があります。前の接続には、現在のブロックの「内容」を含めます。

ブロックを順番に並べる

定義された順序で接続する一連のブロックを作成するには、次の接続チェックで現在のブロックの後に続くブロックと、前の接続チェックで現在のブロックが「何であるか」を指定する必要があります。

順序が強制されるステートメント ブロック

中間ブロックを多数許可する

多くの中間ブロックを許可する順序付きブロックのセットを作成するには、中間ブロックの次の接続チェックに、中間ブロックの前の接続チェックから少なくとも 1 つのエントリを含める必要があります。これにより、ブロックの後に同じブロックを追加できます。

多くの中間ブロックを許可するステートメント ブロック

中間ブロックを許可しない

中間のブロックが省略可能な順序付きブロックのセットを作成するには、最初のブロックの次の接続チェックに、中間のブロックの前の接続チェックと最後のブロックの前の接続チェックの両方から少なくとも 1 つのエントリを含める必要があります。これにより、最初のブロックの後に中間ブロックまたは最後のブロックを配置できます。

中間ブロックを許可しないステートメント ブロック

どちらか一方のスタック

1 つのグループのブロックまたは別のグループのブロックのみを続行できるブロックを作成するには、次の 2 つの操作を行う必要があります。

  1. 最初のブロックの次の接続チェックには、両方のグループの前の接続チェックから少なくとも 1 つのエントリを含める必要があります。

  2. グループの次の接続チェックを定義して、前の接続チェックに含まれている値のみを含める必要があります(つまり、同じグループのブロックのみが続くようにします)。

ステートメント ブロックの後ろに、1 種類のブロックを複数追加することも、別の種類のブロックを複数追加することもできますが、両方を追加することはできません。