«前の日記(2003年08月12日) 最新 次の日記(2003年08月14日)» 編集

Matzにっき


2003年08月13日 [長年日記]

_ [休暇]秋芳洞

1.8.0のバグも気になるし、原稿の〆切も近づいているのだが、昼間はやっぱり遊ぶのだ。

というわけで、秋芳洞を訪問する。 ここのことは「あきよしどう」と発音する人と「しゅうほうどう」と発音する人の 両方がいるのだが、どうも「しゅうほうどう」の方が正統らしい。

完成するのに何万年もかかったという解説を聞きながら、 ばかでっかい洞窟を見てると、時間の観念がおかしくなる。 たかだか何十年という人生のタイムスケールを越えると適切に把握するのが難しい。

むしろ、観光のためにこんな洞窟をこっそり作ったんじゃないかとか、 今我々人類が見て楽しむ目的で自然の摂理が用意してくれていたんじゃないかとかの どちらかといえば馬鹿馬鹿しい考えの方に説得力を感じてしまう私の頭はきっとどうかしてるかも。

どうしても自分の生きている時代を特別と考える「現代セントリック」な考えと、 人類を特別扱いしてしまう「人類セントリック」な考えを持ってしまう。

いや、本当に特別なのかもしれないんで、むげに否定するのも変なのだが。

考えてみれば「人類セントリック」と「現代セントリック」は自分たちの信仰の一部でもあるんだし。

_ [Ruby]今日のバグ

今日のバグは再現条件が厳しい。

  • メソッドgでreturnを含むブロックとともにメソッドfを呼び、
  • そのブロックをメソッドfはブロック引数で受け、
  • f内部でそのブロックをcallすると、
  • returnが終了させるメソッドはどれか
  • 正解はg(returnを直接含むメソッド)

returnの飛び先がおかしかった。具体的なコードとしては

def f(&b)
  b.call
end
def g
  f{return 42}+1
end
p g

のような感じ。

とりあえず対処したが、ブロック中のreturnの場合はbreakとは別に対処しなければならないような気がしてきた。


«前の日記(2003年08月12日) 最新 次の日記(2003年08月14日)» 編集