From: Hideaki Takata Date: 2000-02-18T18:20:16+09:00 Subject: [ruby-list:20835] Re: rbsh たかたひであきです > Fileという名のオブジェクトの真の姿(?)ってやっぱり、 > ファイル名とファイル内容(ByteStream)とを > 「むすびつけているもの」なんでしょうかね。 > 1つのプログラムの中ではそれはファイルディスクリプタ > とかFileオブジェクトだとか言えるわけですが、 > それがshell、プログラム間でやりとりする情報となると… あ、なるほど。今まで、オブジェクトそのものだと思ってたけど、オブジェク トのポインタみたいなものか。とすると、考え方としては、Fileオブジェクト を拡張して、ポインタ先に合わせたラッパーを作った方が早いな。 class TextFile def open なんとか end def copy 某 end def cut かんとか end def paste ああする end def print そうする end def stdin こうする end def stdout なんか end end とか。でも、ファイルの種類でもゆうに200種類以上あるだろうなぁ。 open_withなんてメソッドをつけて解決するか。 > #RDB命な人(笑)に話を聞いたけど、Object(DB)は > #なんでもかんでも「覚える」のが美徳っぽいのに対し、RDBは > #「覚えることは最小限にする(そして毎回「検索」する)」 > #のが美徳らしいです。 > #んで、ファイル「名」って考え方がそもそも > #どっちかってーとRDBに近い考え方で… うー。僕が始めてUNIXに触ったのは、OOよりも、そしてもちろん、C言語より も後だったから、不完全なオブジェクト(構造体) > File, function > command(process)ってアナロジで理解した記憶がある。dev以下のファイルの 振る舞いなんて、ポリモルフィズムそのものだと思ったなあ。ファイルのサブ クラスって感じで。しかも、プロセスもファイルとしてアクセスできると知っ た時には、もう、OOじゃんって感じで。 そのくせ、一部ではWinやらMacにくらべて、あんまりにも低級なシステムだっ たりする。 # BeOSとやらが、レプリカントだなんだとOOなOSのくせに、 # bashが使えた(そういう画面を雑誌で見た)気がする。 # あれは、シェルから使う時どういう挙動をするんだろう? # OOな世界とそうでない世界の界面はどうやってごまかしてんだろ? たかたひであき