ぎょーむ日誌 2003-04-16
2003 年 04 月 16 日 (水)
- 0820 起床.
ひさしぶりによく寝た.
最近,
体調不良で数時間寝ては起きる,
という繰りかえしだったもんで.
朝飯.
コーヒー.
0900 自宅発.
晴.
気温高い.
0910 研究室着.
- 昨日「木工ボンド製本」していた紙たばどもを収納したりしてるうちに,
また身の回りの紙切れ整頓にハシってしまってですね
……
数時間を費してしまったけど,
これからしばらくは整理したくともできないほどに片づけてしまった.
なかなか見つからなかったあれこれも無事に発掘されたし.
- HINES メイルサーヴァー遅配問題は,
地環研のネットワーク委員会の皆さんを怒らせてるようで
(たしかに学内配送が数時間かかったりするのはヒドい)
……
管理者メイリングリストへの転送をみてると,
なんというか「宣戦布告」的なメイルが送られてるようで
……
夕方になってその返信も転送されてきた.
どういう方針なのかよくわからんけど,
メイルサーヴァーの計算機によけーなサーヴァー機能を
いろいろと付与してるらしい.
ナゾ.
- つくば大会でてきとーなる約束をしたので,
よくわからぬまま函館旅行の計画をたててみる.
そうだ,
また研究費の調達を考えねばならんのだろうなあ
(というのでは遅すぎる?).
- Perl 標準ライブラリの
Getopt::Long
を使いこなすための試験運転プログラムを書いてみる.
一ヶ月ほど Perl プログラミングから遠ざかっていたせいか,
いささか手間どる.
- やりたいのは Perl におけるコマンドライン引数処理のモジュール化
……
ということで,
互換性に留意しつつもけっきょく本体コードを改造することになる.
とりかかりはこんなかんぢで.
package RedpineOpts;
use strict;
use Getopt::Long;
sub new
{
my $class = shift;
my $self = {};
$self->{'parser'} = new Getopt::Long::Parser(
config => ['pass_through']
); # pass_through は複数の関数で引数処理するため必要
$self->{'option'} = {};
bless $self, $class
}
$self->{'parser'}->getoptions(
'until=i' => \$option->{'end_age'}, # 整数
'filter=s' => \$option->{'filter'}, # 文字列
'stem_output' => \$option->{'stem_output'} # boolean
);
- というふうに,
「シミュレイターを動かす」
処理そのものがモジュール化されていく.
すると起動時に呼び出す Perl スクリプト
sim_redpine.pl
はこんなふうになる.
use sim_main;
my $redpine_sim = new RedpineSim;
$redpine_sim->Loop;
- で,
variant が必要なら 2 行目 3 行目のあいだに
追加の引数処理その他を追加すればいい
……
C++ とかで書いてる
PipeTree
だと改造はもっと面倒になる.
ということで,
Perl 式の namespace 差分プログラミングには,
ある程度の理と利があるな.
- というところまでつくって気力が切れた.
あとは進展なく
2030 研究室発.
2040 帰宅.
体重 72.2kg.
- [今日の運動]
-
北大構内走 1805-1840.
ストレッチング.
- [今日の食卓]
- 朝 (0850):
ヨーグルト.
- 昼 (1250):
弁当.
研究室お茶部屋.
米麦 0.7 合.
チンゲンサイ・タマネギ・マイタケの炒めもの.
- 晩 (2130):
米麦 0.7 合.
チンゲンサイ・タマネギ・マイタケの炒めもの.
コンブサラダ.