ぎょーむ日誌 2001-07-01
2001 年 07 月 01 日 (日)
- 0830 起床.
- うーむ,
午前中もでれでれとすごしてしまう.
- 昼すぎから「ニセ」アカマツ改良再開.
金曜日午後に発見した「大改装うまくいってない」
バグの修復.
- やけに成長がいいと思ったら,
資源配分のところで単純な計算ミス発見.
- こういう単純な間違いは見つけるのも直すのも簡単なんだけど
……
この樹木モデル,
以前に比べればずいぶんと簡単化したとはいえ,
実装を見るとあれこれと面倒な処理をしており
(親子関係の部分は C++ で書いた Pipe 樹木よりややこしい),
バグ発生箇所からの逆探が難しい.
- 窮余の一策として,
$stem->StemDump()
という関数を作る.
何か問題あったらこれが呼ばれて,
-----------------------------------------------------
a => 1.35315815611529
b => 4.21811743327149
age => 2
child_list => ARRAY(0x8240524)
dead_or_alive => alive
density => 0.00389072741006872
diameter => 0.720046496912187
head_vector => PolarXyz=HASH(0x825d31c)
id => 10
length => 2
parent => RedpineStem=HASH(0x823dd1c)
production => 0
rank_class => fixed
rank_number => 1
sort_key => diameter
stem_vector => PolarXyz=HASH(0x8234a28)
tail_vector => PolarXyz=HASH(0x8253e68)
type => sub
volume => 0.814407897179527
weight => 0.00316863912853281
(child_list)
RedpineStem=HASH(0x81ce93c)
-----------------------------------------------------
……
などという出力を吐きだして止まる,
という仕掛け.
ださださなやりくちだけど,
Perl デバッガーの能力も限られたモノなれば
……
あ,
しかしラクダ本 (``Programing Perl'') 調べてみると,
スタックバックトレイスは
T
でできるのか.
- ぢりぢりとバグを直していく.
匍匐前進.
- 1720 ひとくぎりつく.
よーし,
だんだん意図どーりに
……
休憩してちょっと散歩に出る.
暑い.
- 旧東海道ぞいのローソンで
ガス料金 1ヵ月分 1264 円,
水道下水料金 2ヵ月分 3759 円支払う.
帰宅.
- 2000 ごろ,
よーやくこちらが狙っていたとおりに
「ニセ」アカマツが成長を始めた.
下の図は「ニセ」アカマツ (3 年生 - 14 年生) の
「ニセ」枝たちが「ニセ」枯れ上ってゆく様子である.
これは曝露処理区の個体で成長が
あまり良くないやつである
(毎年のように枯死茎が生じている).
- なぜこの枯れ上りが「ニセ」なのか?
上のモデルでは
収入-支出の釣り合いが取れなくなった時に,
rank_number
の低いものつまり下の「ニセ」枝から
りすとらして赤字決算を回避しろ,
とプログラムされているからである.
稼ぎが悪いから切り捨てられているわけではない.
- ともあれ,
特にみょーな小細工をしなくても
バクハツが避けられるのは良いことではある.
- 次の木曜日によくわからぬ理由で
北大出張しなければならないので,
ネット上で航空券予約してみる.
まずはお手軽な AIRDO から
……
都合のよさそうな羽田→千歳便はすでに満席か.
- しょーがないんで JAS.
前にユーザー登録したんだけど,
なぜかログインできなくなったんだよね.
不思議だ.
再登録して予約.
朝 0650 羽田発,か.
まぁ,0610 ごろまでに自宅出れば間に合うだろう.
- 夜中まで「ニセ」アカマツの
「ニセ」枯れ上る様子を作図したりして,
「ニセ」週末が終わりつつ
……
- 今日の食卓
- 朝 (0930):
米 0.7 合.
マグロあら煮を流用した炊きこみ飯.
昨日の残り.
- 昼 (1230):
米 0.7 合.
朝の残り.
- 晩 (2030):
米 0.7 合.
朝の残り.