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

我应该如何使用Perl的标量范围运算符?

发布时间:2020-12-15 21:52:23 所属栏目:大数据 来源:网络整理
导读:什么是标量“..”运算符的典型用法?它只是选择文本块吗? 我自己有趣的例子: sub get_next { print scalar($$..!$$),"n";}get_next for 1 .. 5; # prints numbers from 1 to 5get_next for 1 .. 5; # prints numbers from 6 to 10 解决方法 人们似乎很难
什么是标量“..”运算符的典型用法?它只是选择文本块吗?

我自己有趣的例子:

sub get_next {
    print scalar($$..!$$),"n";
}

get_next for 1 .. 5;  # prints numbers from 1 to 5
get_next for 1 .. 5;  # prints numbers from 6 to 10

解决方法

人们似乎很难根据这里的问题了解它,但是,是的,我会说典型的用法是选择文本块,或者用
while (<>) {
  print if /BEGIN/ .. /END/;
}

要么

while (<>) {
  print if 3 .. 5; # prints lines 3 through 5
}

后者是用于检查输入行号($.)的语法糖.

... if $. == 3 .. $. == 5;

这表明看起来怪异

#! /usr/bin/perl -l

for ($_ = 1; $_ <= 10; ++$_) {
  print if $_ == 4 .. $_ == 7;
}

以上程序的输出是

4
5
6
7

如果您有某种包围条件,请在子测试中测试它:

for (...) {
  do_foo($x,$y,$z) if begin($x) .. end($z);
}

(编辑:李大同)

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

    推荐文章
      热点阅读