perl中,一个简单的push数组

程序如下:@data=qw/123/;@new=push@data,5;print"@new\n"运行程序:root@luis-VirtualBox:~#./perl.p... 程序如下:
@data = qw/ 1 2 3 /;
@new = push @data, 5;
print "@new\n"
运行程序:
root@luis-VirtualBox:~# ./perl.pl
4

最后结果怎么是4啊?我想要的结果应该是1 2 3 5 啊?这是怎么回事?
展开
 我来答
willshdanvis
推荐于2017-11-25 · TA获得超过1018个赞
知道大有可为答主
回答量:2042
采纳率:100%
帮助的人:1366万
展开全部
@data = qw/ 1 2 3 /;
push @data, 5; #---数组后加5,@new = push @data, 5整个语句返回加过5后的元素个数即为4
print "@data\n"
追问
谢谢
@data = qw/ 1 2 3 /;
push @data, 5;
print "@data\n"
root@luis-VirtualBox:~# ./perl.pl
1 2 3 5
为什么我这样写(如下):
@new = push @data, 5;在print就变成打印数组的个数了呢?
追答
@new = push @data, 5 ;    
push函数:向数组的末尾添加一个或更多元素,并返回新的长度(4)。
然后这个长度赋给了@new
tanerry
2012-04-22
知道答主
回答量:16
采纳率:0%
帮助的人:16.6万
展开全部
push @data, 5;#返回的是@data加入5后的元素个数,此时为4。

perldoc -f push
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式