作者DarkKiller (System hacked)
看板Perl
标题Re: [问题] hash
时间Thu Nov 11 16:03:02 2010
※ 引述《chernglin (小骋诚)》之铭言:
: 请问一下有人知道
: 当我作:
: $hash{$key} = $value;时
: 若key值重复 则value就不会被insert到hash table中
: 那perl是用什麽机制过滤掉重复的key值?
: 同一段程式码
: 如果用阵列去实做的话
: 还要额外检查key是否重复
: 反观hash就执行起来就非常有效率
刚好前阵子在写类似的东西,想要有一个 object,可以塞 job 进去,但如果塞
到重附得时候就忽略掉,另外可以一直取出 work...
当时找现成的程式码没找到,有人有建议的 module 吗?功能太简单不想丢上
CPAN... @_@
程式码在
https://gist.github.com/669047 可以看到:
package JobQueue;
use strict;
use warnings;
sub get
{
my $self = shift;
shift @{$self->{jqa}};
}
sub new
{
bless {jq => {}, jqa => []};
}
sub put
{
my $self = shift;
my $id = shift;
return if defined $self->{jq}->{$id};
$self->{jq}->{$id} = 0;
push @{$self->{jqa}}, $id;
}
1;
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.242.135.97