本文档介绍了使用连接检查的方法。
值示例
为输入和输出定义连接检查时,通常应将这些检查视为表示类型。
输入的检查应包含它们接受的每种“类型”,输出的检查应包含它们“返回”的确切内容。
接受单个类型
在最基本的用例中,如果您要创建一个“接受”或“返回”某个类型的代码块,则需要在连接的连接检查中添加该类型。
接受多种类型
如需创建“接受”多种类型的块,您需要在输入的连接检查中添加所有接受的类型。
根据惯例,如果输出在多种情况下有时可以接受(例如,如果您允许数字有时用作字符串),则输出应更具限制性,输入应更宽松。此惯例可确保输出不会连接到不受支持的位置。
接受任何类型
如需创建“接受”任何类型的块,您需要将输入的连接检查设置为 null
。
返回子类型
如需创建“返回”子类型的代码块,您需要在输出的连接检查中同时包含类型和超类型。
对于子类型,输出检查中可以有多个检查,因为代码块始终“返回”这两种类型。
返回参数化类型
如需创建“返回”参数化类型的代码块,您需要在输出的连接检查中同时包含参数化版本和非参数化版本。
根据您希望屏蔽语言的严格程度,您可能还需要添加类型的变体。
与子类型一样,在本例中,输出检查中可以包含多个检查,因为代码块始终“返回”这两种类型。
堆栈或语句示例
开发者可以通过几种常见方式定义对上一个连接和下一个连接的检查。通常,您可以将这些视为限制块的排序。
下一个连接应包含应紧随当前块的块,而上一个连接应包含当前块的“内容”。
保持块的顺序
如需创建一组按定义顺序连接的块,您需要在下一次连接检查中添加应紧随当前块的块,以及当前块在上一次连接检查中的“内容”。
允许使用大量中间块
如需创建一组允许许多中间块的有序块,您需要在中间块的下一次连接检查中添加中间块的上一次连接检查中至少一个条目。这样一来,该代码块后面就可以跟随更多相同的代码块。
不允许中间块
如需创建一组有序的块(中间块为可选),您需要在第一个块的下一次连接检查中,包含中间块的上一次连接检查和最后一个块的上一次连接检查中的至少一个条目。这样,第一个代码块后面可以是中间代码块,也可以是最后一个代码块。
或堆栈
若要创建一个只能跟随某个组中的块或另一个组中的块(而不能同时跟随这两个组中的块)的块,您需要执行以下两项操作:
您需要在第一个分块的下一次连接检查中,包含这两个组上次连接检查中的至少一个条目。
您需要定义组的下一个连接检查,使其仅包含上一个连接检查中的值(因此,它们后面只能跟随同一组的代码块)。