たつをの ChangeLog : 2011-07-12

アマゾンでナワトビのナワが売れていました。
青が15本、赤が15本。
教育関係の方かな。
男女半々だから幼稚園とか小学校とか。

鉄人倶楽部(IRONMAN・CLUB) ジャンピングロープ ブルー KW-0013B


鉄人倶楽部(IRONMAN・CLUB) ジャンピングロープ レッド KW-0013R


ウエイト入りも2本売れていました。これは普通のなわでは物足りない生徒さん用ですな。

鉄人倶楽部(IRONMAN・CLUB) ジャンピングロープパイプウエイト入り ブルー KW-134B


ありがとうございました!!!

プログラミングメモ。
あとでコピペ&改変して使うためのもの。

■コード

mkbitarray.pl
#!/usr/bin/perl
use strict;
use warnings;
binmode STDOUT, ":raw";

my $bitarray = "";
while (<>) {
    chomp;
    my $x = tonum($_);
    vec($bitarray, $x, 1) = 1 if defined $x;
}
print $bitarray;

sub tonum {
    my ($s) = @_;
    return $s if $s =~ /^\d+$/;
    my $rv = 0;
    foreach my $c (split(//, $s)) {
	$rv = ($rv * 103 + ord($c)) % 1374;
    }
    return $rv;
}

trybitarray.pl
#!/usr/bin/perl
use strict;
use warnings;

my $fn = shift @ARGV;
open(my $fh, "<:raw", $fn) or die;
my $bitarray;
read $fh, $bitarray, -s $fn;
close($fh);

while (<>) {
    chomp;
    my $x = tonum($_);
    if (vec($bitarray, $x, 1)) {
	print "yes\n";
    } else {
	print "no\n";
    }
}

sub tonum {
    my ($s) = @_;
    return $s if $s =~ /^\d+$/;
    my $rv = 0;
    foreach my $c (split(//, $s)) {
	$rv = ($rv * 103 + ord($c)) % 1374;
    }
}

バイナリファイルの読み込みは、これで良いのか自信無し。

■実行例
% cat test.txt 
1234567
1500020
2431124
7777777
9876543
% ./mkbitarray.pl test.txt > test.ba 
% ./trybitarray.pl test.ba test.txt
yes
yes
yes
yes
yes
yes
% ./trybitarray.pl test.ba         
1
no
1234567
yes
2345
no
7777777
yes

関連

- [を] Perl の vec() で bit vector の操作[2011-04-02-4]
- [を] Bloom Filter の動作確認スクリプトを Perl で書いてみました[2011-04-28-3]

ちょっと前のもとこ記事。

- デヴィッド・ボウイといえば「20世紀で最も影響力のあるアーティスト」ではなく (もともこも鳴き笑い)
http://d.hatena.ne.jp/mo_tomoco_mo/20101209/1291823851
わたしのなかでは「ラビリンス/魔王の迷宮」の魔王なんだよねぇ、どうしても。



ラビリンス、映画館で観た記憶があるよ。
何かと二本立てでそっちが目的だったんだけど、何だったか忘れてしまった。

…と、ここで思い出した。

ラピュタだ!

1986年の夏休み。父方の実家(常滑)に行ったときにいとこといっしょに知多半島を縦断して半田の映画館へ自転車で観に行ったんだった。

あれはすごく暑い日だったなあ。

ラビリンス 魔王の迷宮 コレクターズ・エディション [DVD]


ラビリンス 魔王の迷宮 [Blu-ray]


天空の城ラピュタ [DVD]


天空の城ラピュタ [Blu-ray]


たつをの ChangeLog
Powered by chalow