相关疑难解决方法(0)

在Perl中强制列表上下文

我试图理解Perl的背景,我绊倒了一块石头;

鉴于代码;

#!/usr/bin/perl

my $b = (33,22,11);
print "$b\n";

my $b = () = (33,22,11);
print "$b\n";

my @b = (33,22,11);
print "@b\n";

my @b = () = (33,22,11);
print "@b\n";
Run Code Online (Sandbox Code Playgroud)

结果是(最后一行是空白的);

 11  

 3 

 33 22 11

 <>
Run Code Online (Sandbox Code Playgroud)

由于第二个打印返回列表的长度,我假设某个地方生成了一个数组,因为标量上下文中的数组计算它的长度.但第4版似乎相信这一假设.我本来期待看到'33 22 11'印刷但没有得到任何东西.这里发生了什么事?

perl

29
推荐指数
2
解决办法
4389
查看次数

标量 vs 列表赋值运算符

请帮助我理解以下片段:

  • my $count = @array;
  • my @copy = @array;
  • my ($first) = @array;
  • (my $copy = $str) =~ s/\\/\\\\/g;
  • my ($x) = f() or die;
  • my $count = () = f();
  • print($x = $y);
  • print(@x = @y);

perl assignment-operator

4
推荐指数
1
解决办法
253
查看次数

标签 统计

perl ×2

assignment-operator ×1