【问题标题】:How to access Array Item With Variable perl?如何使用变量 perl 访问数组项?
【发布时间】:2020-05-12 03:19:53
【问题描述】:

我是 perl 新手。

我在像其他语言一样通过变量访问数组中的项目时遇到问题,例如。 C C++ Python3 JavaScript

在 Perl 中的预期方式:

print "@array[$var]" ;

它应该在 $var 处打印数组的值。

但它给出了错误。任何其他方式做同样的事情。

【问题讨论】:

  • 提示:语言的名称是“Perl”,而不是“PERL”。这不是首字母缩写词。
  • 如果你的代码中确实有反引号,那么something else,删除那些。
  • 似乎您没有向我们展示的代码的某些部分也可能是错误的;你能提供一个完整的可运行的sn-p代码和你的预期输出吗?
  • 这段代码有什么问题?这很清楚。如何在 perl 中访问数组项。我不知道为什么这个问题被否决了。

标签: arrays perl variables


【解决方案1】:

要访问数组@array 的元素的值,可以使用$array[$i]

这在perldata 中有记录。

是的,$array[$i] 可以用在双引号字符串文字中。

print("$array[$i]\n");

请注意,@array[$i] 也有效,但带有警告。仅当有可能获取多个元素时,才应使用 @array[...]

$ perl -e'
   use strict;
   use warnings;
   my @array = "a".."z";
   my $var = 2;
   print "@array[$var]\n";
'
Scalar value @array[...] better written as $array[...] at -e line 7.
c

$ perl -e'
   use strict;
   use warnings;
   my @array = "a".."z";
   print "@array[2..4]\n";
'
c d e

【讨论】:

    【解决方案2】:

    试试这个:$array[$var]。您之前写的是访问数组切片的错误方法。如果你需要切片,试试这个:@array[$foo..$bar]

    【讨论】:

    • 查看@ikegami 的更好答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-11
    • 1970-01-01
    • 2013-03-07
    相关资源
    最近更新 更多