ぎょーむ日誌 2000-12-11
2000 年 12 月 11 日 (月)
- 0700 起床.
体調はまぁまぁ.
- 朝飯・弁当の準備.
といっても炊きこみご飯を盛るだけだが.
朝飯.
コーヒー.
シャワー.
ひげそり.
洗濯開始.
- 0750 自宅発.
曇り.
燃えるゴミだし.
途中でノド飴買う.
0812 東京モノレイル流通センター発.
浜松町の気温 9 ℃.
0832 研究所着.
-
FLTK
か
……
日本ではあまり紹介されてない
ToolKit for C++ かも.
あ,
でもやっぱり面倒そう.
- さて,
しばらく放置しておいたいくつかの
課題にとりかかりたい.
とりあえずの主眼は開空度計算ライブラリー
Evision (名前ころころ変わるな)
なんかの再編成である.
最尤推定法についてはそれが一区切りついてから,
また問題になってくるだろう.
- まだ某あやしげ編集部からあやしげな注文くる
可能性があるので,
今年 10 月のライブラリーを展開したまま,
11 月になって手を入れ始めたほうも
tgz 状態をほどく.
- まずは三次元計算より
入出力をどうにかせんといかんな
……
ということこで,
filereader クラスを見直し,
同時に ostream を継承した新しい
出力ストリームを作れないか検討してみる.
手もとの C++ 本ひっくりかえす.
/usr/include/g++-3/iostream.h を読む
……
やっぱインターフェイスとゆーか
入出力は メンドウ,
と再確認.
- お,
Yahoo! オークションで落した品が届いた.
よしよし
問題なく動作するな.
定価 9800 円だったものが 1600 円.
送料必要だけど消費税いらず.
貧乏人にはありがたい仕組みだ.
[無線トラックボール]
赤外線方式.小さい.
2 ボタン.詳細はまた
おいおい.ともかく鍵
盤二枚体制はおしまい.
- ノドはちといたむんだが腹は減ったので
昼飯食う.
- 世紀末
北虎伝説
復活のうわさにおびえる.
- 昼飯食ってから,
C++ 本をひっくり返しては
それらがあまり役に立たぬことを発見しつつ,
コンパイルエラーの警告文言を解読しながら
試行錯誤でコード書きのつづき.
ostream を継承するのは面倒そうなんで,
とりあえず
ofstream を継承してみることにした.
#include <iostream>
#include <fstream>
#include <string>
class MyNewStream :
public ofstream
{
public:
MyNewStream( const string& fn ) :
ofstream( fn.c_str(), ios::out ) { }
};
int main ( void )
{
MyNewStream new_stream( "tmp.txt" );
new_stream << "Hello, Our New Stream !" << endl;
return 0;
}
なんだかなぁ.
さらにストリームを流し込む演算子
<<
を上書きせんといかん
……
- 今日はやかましー
……
こらこら私の横 5m で
お役所文章朗読の会を始めるんじゃなーい.
それに触発されておぢーちゃん電話まで
興奮状態になるし.
ただし英語電話だと
声も小さく口数すくなく
正気の所在を疑わせる
嬌声を発して哄笑しないのは
不思議の極みだ.
日本語電話もそうしてくれると
ひどく助かるのだが.
- 統計学相談メイルが来たんで,
そっちに対応する.
呪われ g++ の
試行錯誤コーディングよりは
やかまし sensitivity が低い知的活動なんで.
- 1810 研究所発.
本屋 dan による.
お,
Programming Pearls (Perl ニ非ズ) とか
プログラミング作法とか
良さそうな本が
……
しかし先だつモノが.
1837 東京モノレイル浜松町発.
1910 帰宅.
- 晩飯食ってから,
呪われ C++ コードに再び取り組む.
- ふう
……
やっと通った.
本に書いてあるのとは抜本的に違うコードだ.
大丈夫なのか g++ ( GNU C++ コンパイラー).
行末の
endl
を通すような型
__omanip
なんてのは
実装依存ではなかろーか.
やれやれ.
#include <iostream>
#include <fstream>
#include <string>
class MyNewStream :
public ofstream
{
public:
MyNewStream( const char* fname ) :
ofstream( fname, ios::out ) {}
MyNewStream& operator<<( const string& data );
MyNewStream& operator<<( __omanip func );
};
MyNewStream& MyNewStream::operator<<( const string& data )
{
string modified( "// " + data );
write( modified.c_str(), modified.size() );
return *this;
}
MyNewStream& MyNewStream::operator<<( __omanip func )
{
return ( MyNewStream& )( *func )( *this );
}
int main( void )
{
MyNewStream new_stream( "tmp.txt" );
new_stream << "Hello, Our New Stream !" << endl;
return 0;
}
良い書き方とは思えんが,
とりあえず動く.
さてと.
この「ofstream 継承試験コード」を
元にシミュレイターとかで使えるやつに
拡張せんといかんな.
どうも,
operator<<
を型ごとに
lいちいち上書きせんといかんようだ.
なんてこったい.
どこか間違えてるよーな気もする.
しかし GNU C++ 本に書かれていたテンプレイト使う策は
ダメだった.
- 某あやしげ編集部から執筆者全員あて.
LTER 特集号の字数が超過してるんで
(ほらほらほら),
特集分割したくなければ
各執筆者がまとめて 50 部づつほど買わんか,
というメイル.
増刷でペイジ数増加に対応する腹づもりらしい.
うーむ.
やはりあやしげだ.
「敵を知らざれば」ということで
その雑誌 11 月号を自腹で買ったけど一冊 1400 円.
著者がまとめて買えば 2 割引,
といっても 50 部も買ったら 56000 円だ.
どこにそんな予算あるのか.
- 眠い.
- 今日の食卓
- 朝 (0730):
米 0.6 合.
ヒジキ・昆布・高野豆腐の
炊きこみご飯.
ついに生鮮食品がつきたんで.
- 昼 (1230):
弁当.
米 0.8 合.
ヒジキ・昆布・高野豆腐の
炊きこみご飯.
- 晩 (1940):
ソース野菜焼きそば.
先日 100 円ショップで買った
ソース焼きそばを 50 円ぶん使用.
キャベツの固い部分とニンジンを薄切りにして
下茹で.
エリンギ・モヤシ・麺とともに炒める.
麺より具の多い一品となった.