perl – 如何获得子数组?

perl – 如何获得子数组?,第1张

概述我有以下代码: @a = ((1,2,3),("test","hello"));print @a[1] 我期待它打印 testhello 但它给了我2. 抱歉新手问题(Perl对我来说有点不自然),但为什么会发生这种情况,我怎样才能得到我想要的结果呢? Perl构造@a的方式是等同于你的写作, @a = (1,2,3,"test","hello"); 这就是为什么当你通过编写@a [1](真的应 我有以下代码:

@a = ((1,2,3),("test","hello"));print @a[1]

我期待它打印

testhello

但它给了我2.

抱歉新手问题(Perl对我来说有点不自然),但为什么会发生这种情况,我怎样才能得到我想要的结果呢?

解决方法 Perl构造@a的方式是等同于你的写作,

@a = (1,3,"test","hello");

这就是为什么当你通过编写@a [1](真的应该是$a [1])来索引索引1的值时,你会得到2.为了证明这一点,如果你要做以下事情,

use strict;use warnings;my @a = ((1,"hello"));my @b = (1,"hello");print "@a\n";print "@b\n";

两者都打印相同的行,

1 2 3 test hello1 2 3 test hello

你想要的是在你的数组中创建匿名数组 – 像这样,

my @c = ([1,3],["test","hello"]);

如果你写下面的,

use Data::Dumper;print Dumper $c[1];

你会看到这个打印,

$VAR1 = [          'test','hello'        ];
总结

以上是内存溢出为你收集整理的perl – 如何获得子数组?全部内容,希望文章能够帮你解决perl – 如何获得子数组?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1266499.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存