【问题标题】:Perl Mojolicious array loopPerl Mojolicious 数组循环
【发布时间】:2018-08-10 19:07:22
【问题描述】:

不确定这是否可能。但我正在尝试遍历一个数组。我在 for 循环行上不断收到错误消息 Can't use an array as a reference$product_results->[6] 确实包含数据。

my @product_array = split(',', $order->[6]);
$product_results->[6] = \@product_array;
% for (@$product_results->[6]){
    <%= $_->[0] %>
% }

【问题讨论】:

  • @{$product_results->[6]} 应该可以工作。
  • 感谢工作。
  • @RajashekarReddyM 下次写一个答案以获得一些代表。不要在 cmets 中回答。 ;)

标签: arrays perl mojolicious


【解决方案1】:

您同时使用了这两种形式的取消引用。

任意使用

$ref->[6];

@$ref[6];

同时,Perl 都会将引用作为数组解引用为类似的内容,然后将其作为数组引用解引用以获取第 7 个元素。但这不起作用。

(1, 2, 3)->[7]

您真正想要做的是取消对数组引用的引用,该数组引用您在数组引用中的第七个索引。

# this will deref the content of index 7
# |      this will deref $ref into an array
# |      |
  @{ $ref->[7] }

为了进一步说明,您的数据结构如下所示。

$ref = [
    0,
    1,
    2,
    3,
    4,
    5,
    6,
    [                   # 7
        qw/ foo bar baz/
    ],
]

【讨论】:

    猜你喜欢
    • 2021-12-06
    • 2013-12-11
    • 2013-04-25
    • 2017-08-25
    • 2011-05-31
    • 2015-11-21
    • 2021-01-09
    • 1970-01-01
    • 2020-01-19
    相关资源
    最近更新 更多