Raku 中使用标签标记循环,以便您可以使用 诸如 last
的语句指定要跳转到的特定循环。您可以使用它跳出循环并进入外部循环,而不仅仅是退出当前循环或转到前一条语句。
USERS: # the labelfor ->say USERS.^name; # OUTPUT: «Label»
这些标签是 Label
类型的对象,如最后一条语句所示。只要标签出现在循环语句之前,就可以在任何循环结构中使用它们。
my = 0;my = 0;my = '';A: while ++ < 2say ; # OUTPUT: «A1B1A1A2»
将它们放在循环之前或同一行是可选的。Label
必须遵循 普通标识符 的语法,尽管传统上我们会使用大写的拉丁字母,以便它们在源代码中脱颖而出。但是,您可以使用其他字母,如下所示
駱駝道: while True# OUTPUT: «駱駝道»
方法§
方法名称§
不太有用,返回已定义标签的名称
A: while True
方法文件§
返回定义标签的文件。
方法行§
返回定义标签的行。
方法 Str§
转换为一个字符串,其中包括名称、文件和定义它的行。
方法 next§
method next(Label:)
开始与标签关联的循环的下一个迭代。
MY-LABEL:for 1..10# OUTPUT: «5 6 7 8 9 10 »
方法 redo§
method redo(Label:)
重复与标签关联的循环的相同迭代。
my = False;MY-LABEL:for 1..10# OUTPUT: «1 2 3 4 5 5 6 7 8 9 10 »
方法 last§
method last(Label:)
终止与标签关联的循环的执行。
MY-LABEL:for 1..10# OUTPUT: «1 2 3 4 5 »