代码之家  ›  专栏  ›  技术社区  ›  viraptor

删除数组元素

  •  1
  • viraptor  · 技术社区  · 15 年前

    如何从Perl数组引用中删除元素?我有它的索引,不想将元素设置为 undef ,但要完全移除它。

    例如,如何更改 $a = [1, 2, 3]; 进入之内 $a = [1, 3]; .

    2 回复  |  直到 15 年前
        1
  •  5
  •   Eugene Yarmash    15 年前

    使用 splice() :

    splice @$a, 1, 1;
    
        2
  •  5
  •   daxim Fayland Lam    15 年前

    使用 splice :

    my @array = (44,55,66);
    splice @array, 1, 1; # 55
    @array; # (44,66)
    
    my $array_ref = [44,55,66];
    splice @{ $array_ref }, 1, 1; # 55
    $array_ref; # (44,66)
    

    我注意到您对数据类型和引用感到困惑,因为devel::repl只以引用形式显示它们。您在问题中定义了数组引用,而不是数组。比较我的代码示例。