LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: dearvoid

语句 $scalar = %hash 是何语意 ?

[复制链接]
发表于 2004-6-6 21:42:21 | 显示全部楼层
哦,有此事,8 是分配的空间??
发表于 2004-6-6 21:46:55 | 显示全部楼层
不太对啊

[php]
my %hash = (
            a => 'sssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskk',
            a2 => 'sssssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksskk',
            a22 => 'sssssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksssskksskk',
            a3 => 'sssskk',
            a33 => 'sssskk',
            a4 => 'sssskk',
            a55 => 'sssskk',
            a6 => 'sssskk',
            b => 'sssskk',
            c => 'sssskk',
            d => 'sssskk',
            e => 'sssskk',
            f => 'sssskk',
            g => 'kk');

my $what = %hash;
my $hash_ref = \%hash;

print $what;
print "\n";
print $hash_ref;
print "\n";
print ref $hash_ref;
print "\n";
[/php]

运行结果是

9/16
HASH(0x1a99a98)
HASH


看来,偶还得再研究下
发表于 2004-6-7 10:02:29 | 显示全部楼层
When you evaluate a hash variable in a scalar context, it returns a true value only if the hash contains any key/value pairs whatsoever. If there are any key/value pairs at all, the value returned is a string consisting of the number of used buckets and the number of allocated buckets, separated by a slash. This is pretty much only useful to find out whether Perl's (compiled in) hashing algorithm is performing poorly on your data set. For example, you stick 10,000 things in a hash, but evaluating %HASH in scalar context reveals "1/8", which means only one out of eight buckets has been touched. Presumably that one bucket contains all 10,000 of your items. This isn't supposed to happen.
发表于 2004-6-7 18:35:35 | 显示全部楼层
受教了,呵呵

看来我还是没有好好读书啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表