最終更新: 2009-11-19T03:57+0900
耳: 310 (62%)、読: 375 (75%) でした。括弧内は各500点満点とした時の得点率。順位は上から 25.7%。会場で 4人捕まえたらその内 1人は自分より上だったってこと。
やっぱりネックはリスニングだった。今回のテストの全体平均(310.5)を 0.5ポイント下回ってる。偏差値50を割るなんてありえない。英語を聞く機会がそもそも日常に存在しないのだから無理もないが。映画は吹き替えより字幕に限るといいつつも、その映画を見ないのだからね。唯一ともいえる英語を耳にする機会はかくして消える。
解き終わっての予想はそれぞれ 55% 75%だったから、リスニングでは勘がそこそこ当たってたということ。
脳移植により他人の脳片を埋め込まれた男が変わっていく。それを自分で自覚しているところに残酷さがある。記憶の中の自分と現在の自分の考え方・性格・能力が移植の前後で滑らかにつながっていないから、自分の記憶が他人の記憶に思えたり(1)、現在の自分が自分でなく思えてくる(2)*。
主人公・成瀬純一の言葉
生きているというのは、単に呼吸しているとか、心臓が動いているとかってことじゃない。脳波が出ているってことでもない。それは足跡を残すってことなんだ。後ろにある足跡を見て、たしかに自分がつけたものだとわかるのが、生きているということなんだ。だけど今の俺は、かつて自分が残してきたはずの足跡を見ても、それが自分のものだとはどうしても思えない。二十年以上生きてきたはずの成瀬純一は、もうどこにもいないんだ (p.p.236-237)
それに対する堂元博士の言葉
君は昔自分がつけたはずの足跡が、自分のものでなくなったという。しかしそれでもいいではないか。(略)。だが彼ら(注・老人)はやがて自分の足跡がどこにあるのかも、自分が足跡をつけたという事実さえ忘れてしまうという状態になる。(p.p.260-261)
他人事じゃあないんだよね。脳移植はなくても自分が自分でなくなる恐怖ってのは長寿とセットになって誰にでも降りかかってくるんよね。
* (1)と(2)では自分の依って立つものが違うんだけど一体どっちが「自分」なんでしょうね。成瀬純一は記憶の方が本来の自分だと「知って」たわけだけど、それを隠されると……。
[1].each{ break }
は無問題。
f = proc { break }
[1].each(&f)
は
in `each': break from proc-closure (LocalJumpError)
となる。差別だよ。撤廃撤廃。[ruby-dev:12070]。orz
状況によって Array#eachと Array#reverse_eachを使い分けたくて、でも処理内容は一緒だからブロックを使いまわそうとして、予め Procオブジェクトにしておいたら上記のエラーに遭遇した、と。
def hoge(&block)
puts 'hoge start'
yield
puts 'hoge end'
end
hoge { puts 'next'; next }
hoge { puts 'break'; break }
これ↑の実行結果はこう↓なる。
hoge start next hoge end hoge start break
ブロックで breakすると、hogeの yieldより後ろが実行されてない。
def hoge(&block)
puts 'hoge start'
begin
yield
ensure
puts 'hoge end'
end
end
hoge { puts 'next'; next }
hoge { puts 'break'; break }
こう↑すると勝手に実行をスキップされない。
hoge start next hoge end hoge start break hoge end
yieldの呼び出しには注意が必要だったのだな。
そういうことです。補足はありません。
細かいことは以前の日記に書いてあるので、ここではビャッとソースを引用。
# index_list.rb
#
# 「最新」「月」表示に対応した目次を表示。
# recent_listやtitle_listと違い日付のリンク先は日別表示でなくページ内。
# その為に、diary.rhtmlをいじって日付にアンカーを付ける必要がある。
# 骨格にrecent_list.rbを使用。
# [2005-06-15] tdiary-2.1.1 N日表示対応
# [2005-04-20] 月表示では昇順に。
def index_list(date_format = nil, show_title = true)
if(@mode == 'latest')
limit = @conf.latest_limit;
elsif(@mode == 'month')
limit = 31;
else
return '';
end
date_format ||= @date_format;
latest_start_ymd = @date.strftime('%Y%m%d');
result = %Q[<ul class="index-list">\n];
b = lambda {|ymd|
next if(@mode == 'latest' && latest_start_ymd < ymd);
break if(limit <= 0);
diary = @diaries[ymd];
next unless(diary.visible?);
result << %Q[\t<li><a href="##{ymd}">#{diary.date.strftime(date_format)}</a>];
if(show_title && diary.title)
result << %Q[ #{diary.title}];
end
result << %Q[\n\t\t<ul class="index-list-item">\n];
i = 1;
if(!@plugin_files.grep(/\/category.rb$/).empty? && diary.categorizable?)
diary.each_section{|section|
result << "\t\t<li>";
result << section.categories.collect{|c| category_anchor("#{c}")}.join;
result << ' '+section.stripped_subtitle_to_html if(section.stripped_subtitle);
result << "</li>\n";
i += 1;
}
else
diary.each_section{|section|
if(section.subtitle)
result << %Q[\t\t<li>#{section.subtitle_to_html}</li>\n];
end
i += 1;
}
end
result << "\t\t</ul>\n\t</li>\n";
limit -= 1;
}
begin
@diaries.keys.sort.send( (@mode=='latest' ? :reverse_each : :each), &b);
rescue LocalJumpError # <- break
# Procオブジェクトで breakは使えないのだろうけど
# それをブロックとして渡してるんやからエラーにせんでもええやん。> ruby-1.8.2
end
result << "<ul>";
return apply_plugin(result);
end
耳:55% / 読:75% といったところだろうか。