类 WrapHandle { ... }

WrapHandle 是由 wrap 创建并返回的Rakudo 私有类。它的唯一用途是解包包装的例程。可以在例程对象上调用 unwrap,或在 Routine::WrapHandle 对象上调用方法 restore

sub f() { say 'f was called' }
my $wrap-handle = &f.wrap({ say 'before'callsamesay 'after' });
f;                    # OUTPUT: «before␤f was called␤after␤» 
$wrap-handle.restore;
f;                    # OUTPUT: «f was called␤»

作为私有类,它可能会在不事先通知的情况下进行任何类型的更改。这里仅提及它,因为它是通过检查 Routine.wrap 方法的返回类型来对用户可见的。

方法§

方法 restore§

method restore(--> Bool:D)

解包包装的例程,并在成功时返回 Bool::True