2009年1月19日星期一

[PerlChina] Re: 在循环中数组shift的疑问

同意Changying Li 的说法

for(@array)
{
shift @array;
$temp = @array;
print $temp;
}

就可以知道问题所在了,更好的办法是用while。


On Jan 19, 4:31 pm, zhang jy <feng...@gmail.com> wrote:
> hi~
> 大家好!最近在工作中遇到了一个问题。
> #!perl -w
> use strict;
> my @array=('a','b','c','d','e','f');
> my @array_2;
> for(@array)
> {
> push @array_2,shift @array;}
>
> for(@array)
> {
> print $_;
>
> }
>
> 我希望看到的是@array内被清空,@array_2被填满。可是情况确是@array中存在d,e,f。
> 请教一下大家,如何才能达到我想要的目的?
> 还有,为什么存在的是def,而不是b.d.f
> 谢谢!
--~--~---------~--~----~------------~-------~--~----~
您收到此信息是由于您订阅了 Google 论坛"PerlChina Mongers 讨论组"论坛。
要在此论坛发帖,请发电子邮件到 perlchina@googlegroups.com
要退订此论坛,请发邮件至 perlchina+unsubscribe@googlegroups.com
更多选项,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问该论坛
-~----------~----~----~----~------~----~------~--~---

没有评论: