在控制流中§

有关return的更多信息,请参阅上下文中的主要文档

子例程 return 将停止子例程或方法的执行,运行所有相关的 phaser 并将给定的返回值提供给调用者。默认返回值为 Nil。如果提供了 return 类型约束,则将对其进行检查,除非返回值为 Nil。如果类型检查失败,则抛出异常 X::TypeCheck::Return。如果它通过了控制异常,则可以使用 CONTROL 捕获它。

块中的任何 return 都绑定到该块外部词法范围内的第一个 Routine,无论嵌套多深。请注意,包根目录中的 return 在运行时会失败。在延迟评估的块(例如,在 map 内部)中,return 可能会发现在执行块时外部词法例程已经消失。几乎在任何情况下,last 都是更好的选择。有关如何处理和生成返回值的更多信息,请查看 函数文档