7

私は調べていて、実装でこのコメントを見ました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 #1082myで が実際に語彙的であるかどうかを気にするようになりました。temp動的変数に対するユーザーレベルの一時的な変更には、それがより適切だと思っていたでしょう。

しかし、今、このコメントを見ましたが、それが何を意味するのかよくわかりません。tempこんなに深く壊れたの?ここでは利用できませんか?それともコメントが間違っていますか?

コメントが正しければ、動的変数を処理するこの方法は日常のプログラマー レベルに漏れているのでしょうか。

そして、このレベルは実際にはどれくらい低レベルですか?Perl 6 はすべてここで入手できるようです。

4

2 に答える 2