2009年7月13日星期一

[PerlChina] Re: 请问如何初始化一个哈希的哈希为空?

%hashA=( 'a'=>1, 'b' => 2 );
%hashB=( 'AA' => 22 );
$hashA{c}=\%hashB;
print exists $hashA{c}->{'AA'};

----

为什么觉得不行?楼主可能把其他语言的开发经验牵到 perl 上来了。
建议读读 perlreftut 和 perldsc

http://perldoc.perl.org/perlreftut.html
http://perldoc.perl.org/perldsc.html

先把 perl 的引用搞清楚,就明白了。


2009/7/14 yi wang <wangyi2412@gmail.com>
不行吧,这样怎么体现出二级结构呢?当你要用exists 的时候,应该怎么写呢?

2009/7/14 cnhack TNT <cnhacktnt@gmail.com>

要使用这样的结构,无须去刻意初始化




2009/7/14 Young vincent <pcwl.vincent@gmail.com>
不是跟第一个一样,直接置空即可麽?%hash=();或是undef %hash;


2009/7/14 yi wang <wangyi2412@gmail.com>
请明示,看不懂你的意思。

2009/7/14 Young vincent <pcwl.vincent@gmail.com>

不一样麽,后面的该赋引用值,是一个地址来的~ 不信可以打印出来cc~

2009/7/14 yi wang <wangyi2412@gmail.com>

如题。
比如%hash=();初始化一个一般的hash表为空,以后可以有类似 $hash{'key1'} = value1; 的赋值
但是如果hash{'key1'}值又是一个hash表,即意为 %hash{'key1'} = %anotherhash, 应该如何初始化这样的hash的hash表为空?
谢谢!









--
和你在一起












--
和你在一起




--~--~---------~--~----~------------~-------~--~----~
您收到此信息是由于您订阅了 Google 论坛"PerlChina Mongers 讨论组"论坛。
 要在此论坛发帖,请发电子邮件到 perlchina@googlegroups.com
 要退订此论坛,请发邮件至 perlchina+unsubscribe@googlegroups.com
 更多选项,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问该论坛

-~----------~----~----~----~------~----~------~--~---

没有评论: