我正在查看并在indir
实现中看到此评论:
sub indir(Str() $path, $what, :$test = <r w>) {
my $newCWD := $*CWD.chdir($path,:$test);
$newCWD // $newCWD.throw;
{
my $*CWD = $newCWD; # temp doesn't work in core settings :-(
$what();
}
}
我认为这种用法my
很奇怪,这导致了doc issue #1082对 ifmy
实际上是词法的问题感到厌烦。我原以为这temp
更适合用户级对动态变量的临时更改。
但是现在,我看到了这个评论,但我不太确定它是什么意思。temp
破的这么深?在这里不可用吗?还是评论是错误的?
如果评论是正确的,那么这种处理动态变量的方式是否会泄露到日常程序员级别,因为这是某些人不得不做的事情(他们已经习惯了?)
而且,这个级别到底有多低?似乎所有 Perl 6 都应该在这里可用。