【问题标题】:perl foreach looping arrays, simple questionperl foreach 循环数组,简单的问题
【发布时间】:2011-05-08 09:32:21
【问题描述】:

非常简单的 perl 问题,但让我很困惑。

foreach $val (@{$obj->something()}) { # 这行得通 } @array = $obj->something(); foreach $val (@array) { # 这不是 }

我需要做些什么来完成第二项工作(即:单独分配数组),我已经使用了第一种形式,但并不真正了解它的不同之处。

【问题讨论】:

    标签: arrays perl loops for-loop


    【解决方案1】:

    大概:

    @array = @{$obj->something()};
    

    从第一个示例来看,$obj->something() 返回一个数组引用,您需要取消引用它。

    另外,你真的应该use strict;use warnings;,并像这样声明你的变量

    my @array = @{$obj->something()};
    foreach my $val (@array) {
        # this does not
    }
    

    这将更容易发现错误(尽管可能不是这个),即使在三行脚本中也是如此。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-06
      相关资源
      最近更新 更多