あらゆる教育のなかでもっとも大切な成果は、好むと好まざるとにかかわらず、
やるべきときに、やらなければならないことをする能力を身につけることだろう。
(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 六本木 五本木 本木