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

在Perl中下划线的意义是什么($_,@_)?

发布时间:2020-12-15 21:25:03 所属栏目:大数据 来源:网络整理
导读:我是新来的Perl,我用他们这样 $ _ foreach (@list) { print "$_n";} @_ sub search { my ($no,@list) = @_;} 这些下划线变量在Perl中如何工作?它们有用的其他结构是什么? 解决方法 这是一个问题,这表明你真的应该读一本书,也许其余的perl标签 faqs。
我是新来的Perl,我用他们这样

$ _

foreach (@list) {
    print "$_n";
}

@_

sub search {
    my ($no,@list) = @_;
}

这些下划线变量在Perl中如何工作?它们有用的其他结构是什么?

解决方法

这是一个问题,这表明你真的应该读一本书,也许其余的perl标签 faqs。

然而,$ _是一个上下文变量,它由某些构造隐式创建,并由某些内置函数隐式使用。这里有些例子:

while(<>) {
    next if /^#/;
    last if /^q(?:uit)?$/;
    say "Howdy!" if /^hello$/;
}

这做了很多工作设置和检查$ _变量,并等效于:

while(defined($_ = <>)) {
    next if $_ =~ /^#/;
    last if $_ =~ /^q(?:uit)?$/;
    say "Howdy!" if $_ =~ /^hello$/;
}

设置$ _的其他构造是:foreach循环,给定块,map和grep操作,以及在Try::Tiny中捕获块。

使用$ _的其他构造是:裸印;语句,s ///替换运算符和tr ///音译运算符。

我建议这样:当你正在学习Perl,不要使用$ _ implicitly。把它全部写出来(如上面的第二个例子),在你的心里加强实际上发生了什么。就像你在学习外语时,你应该学会正确和仔细地说话,然后才能学会使用外语。 $ _对于编写更短,更简洁的代码非常有用,并且通过关注进行的处理而不是正在进行的变量实际上更清楚,但只有当你学习为第二本质,哪些操作使用$ _。否则只是一个混乱的混乱。

如别处所述,@_是子例程的参数列表。

(编辑:李大同)

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

    推荐文章
      热点阅读