
あらゆる教育のなかでもっとも大切な成果は、好むと好まざるとにかかわらず、
やるべきときに、やらなければならないことをする能力を身につけることだろう。
(p.73)
例えば、僕自身は人との待ち合わせに際しては、私は昔ボーイスカウトをやっていたので5分前集合が身に染みていたのですが、
常に約束の15分前に到着するようにしています。(p.94)
#!/usr/bin/perl
use strict;
use warnings;
use Algorithm::Diff;
use utf8;
use Encode;
use open ':utf8';
binmode STDIN, ":utf8";
binmode STDOUT, ":utf8";
my $key = shift;
my @seq1 = split(//, decode('utf-8', $key));
while (<>) {
chomp;
my @seq2 = split(//, $_);
my @lcs = Algorithm::Diff::LCS(\@seq1, \@seq2);
my $score = @lcs * 2 / (@seq1 + @seq2);
print "$score [@seq1] vs [@seq2]\n";
}
第一引数が検索キー、第二引数が辞書ファイルです。aab karb ab abbbaab qwerty
% ./ads.pl aab a.dic 1 [a a b] vs [a a b] 0.571428571428571 [a a b] vs [k a r b] 0.8 [a a b] vs [a b] 0.6 [a a b] vs [a b b b a a b] 0 [a a b] vs [q w e r t y]
#!/usr/bin/perl
use strict;
use warnings;
use Algorithm::Diff;
use Encode;
use utf8;
use open ':utf8';
binmode STDIN, ":utf8";
binmode STDOUT, ":utf8";
my $key = shift;
my @seq1 = split(//, decode('utf-8', $key));
while (<>) {
chomp;
my @seq2 = split(//, $_);
my @lcs = Algorithm::Diff::LCS(\@seq1, \@seq2);
next if @lcs < ((@seq1 > @seq2) ? @seq1 : @seq2) - 1;
print "$_\n";
}
六本木 六本木心中 五本木 本木 本
なお、文字コードはすべて UTF-8 です。% ./ads2.pl 六本木 a2.dic 六本木 五本木 本木