Re: [問題] hash
※ 引述《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
討論串 (同標題文章)
Perl 近期熱門文章
PTT數位生活區 即時熱門文章