perl的指针,没搞明白过,有问题请教



QUOTE:
原帖由 gregorian 于 2008-6-27 18:22 发表
说明他今天心情很好

不,说明我无法判断楼主是不是临时用户。

我对真正的 Perl 新手都是很友好的,
因为我觉得他们既然想要学 Perl,
那么在开始的时候就需要我拉一把。
不友好的只是临时用户,
因为我觉得他们都是叼一嘴就跑,饿了再来。
我不喜欢帮他们做作业或者挣工资。

BTW:作为 ChinaUnix 的版主,
我发现很多人都喜欢观察我,
但是很多人观察我观察得不够深入。



[Copy to clipboard] [ - ]
CODE:
#!/usr/bin/perl
@array = ('a','b','c');
$tar->{arr} = [ @array ];

foreach my $item ( @{ $tar->{arr} } )
{
        print "$item\n";
}

用【 】明确告诉他这里是个散列环境,也可以。


QUOTE:
原帖由 撒哈拉里的鱼 于 2008-6-27 23:22 发表

#!/usr/bin/perl
@array = ('a','b','c');
$tar->{arr} = [ @array ];

foreach my $item ( @{ $tar->{arr} } )
{
        print "$item\n";
}

用【 】明确告诉他这里是个散列环境,也可以。

你还没学通:
1,“散列环境”这个词用的不对。
2,\@array 和 [@array] 不等效。


QUOTE:
原帖由 flw 于 2008-6-27 18:29 发表

不,说明我无法判断楼主是不是临时用户。

我对真正的 Perl 新手都是很友好的,
因为我觉得他们既然想要学 Perl,
那么在开始的时候就需要我拉一把。
不友好的只是临时用户,
因为我觉得他们都是叼一嘴 ...

版主受人关注是很正常滴~~~哈哈哈,
我好像还是第一次见你这么耐心的哈

另,强烈BS作业贴。还有一种用户,当天注册,一注册就扔个问题那种~



QUOTE:
原帖由 flw 于 2008-6-27 23:32 发表

你还没学通:
1,“散列环境”这个词用的不对。
2,\@array 和 [@array] 不等效。

版主说的对啊

1。perl 中只有 scalar context 和 list context。
2。[@array] 建立了一个匿名数组引用,\@array 是对 @array 引用。
呵呵,是很多这种人,注册问个问题就跑了。。。偶还比较有一些时间,能经常进来看看,还能偶尔跟个贴,不过,发现高手太多,需要学习啊。。。
BTW:斑竹不受人关注是不可能的。。。想想看,就像一个班的班主任一样。。。


[Copy to clipboard] [ - ]
CODE:
$tar->{arr} = \@array
$tar->{arr}存的是@array的引用?
能不能把@array复制一份给$tar->{arr}?

存的就是引用,引用是个标量

[Copy to clipboard] [ - ]
CODE:
$tar->{arr} ="@array";

注意,后面的引号不能少


QUOTE:
原帖由 churchmice 于 2008-7-1 14:22 发表
存的就是引用,引用是个标量

$tar->{arr} ="@array";

注意,后面的引号不能少

你这样做跟 lz 的想法是不一样的。容易误导 lz。
这样是生成了一个 字符串。

而 lz 是想用 $tar->{arr} 来存一个 @array。

$tar->{arr} 是一个 scalar 变量,不能存 数组 的。


QUOTE:
原帖由 cobrawgl 于 2008-7-1 14:48 发表


你这样做跟 lz 的想法是不一样的。容易误导 lz。
这样是生成了一个 字符串。

而 lz 是想用 $tar->{arr} 来存一个 @array。

$tar->{arr} 是一个 scalar 变量,不能存 数组 的。

存引用就可以了。
[ @array ] 可以复制 @array 生成一个匿名数组,并返回其引用。