加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl6 – 你能循环一个变量中的Perl 6块吗?

发布时间:2020-12-15 23:22:51 所属栏目:大数据 来源:网络整理
导读:我一直想做这样的事情: my $block := { state $n = 0; say $n++; last if $n 3; };loop $block; 甚至: $block.loop; 我不期待这是可能的,但如果是的话肯定会很酷. 我怎样才能找出特定例程的来源? $perl6To exit type 'exit' or '^D' loop.^name===SORRY!=
我一直想做这样的事情:

my $block := {
    state $n = 0;
    say $n++;
    last if $n > 3;
    };

loop $block;

甚至:

$block.loop;

我不期待这是可能的,但如果是的话肯定会很酷.

我怎样才能找出特定例程的来源?

$perl6
To exit type 'exit' or '^D'
> &loop.^name
===SORRY!=== Error while compiling:
Undeclared routine:
    loop used at line 1

解决方法

使用Perl 6中已有的内容,您可以在sink上下文中使用 Seq.from-loop.
(注意,REPL不会将最后一个语句放在一行中,而是将其置于接收器上下文中)

my $block := {
    state $n = 0;
    say $n++;
    last if $n > 3;
}

Seq.from-loop: $block;
Seq.from-loop: {say $++},{$++ <= 3};

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读