From: "中村暁史 Nakamura Akifumi" Date: 2000-02-19T11:47:23+09:00 Subject: [ruby-list:20850] Re: rbsh お世話になっております。 A.中村です。 On Fri, 18 Feb 2000 18:20:16 +0900 "Hideaki Takata" wrote: >でも、ファイルの種類でもゆうに200種類以上あるだろうなぁ。 >open_withなんてメソッドをつけて解決するか。 たとえば CSource < TextFile < File なんてなクラス構成に見覚えがあります(^^; 上のクラスから順番にメソッドをつけていけば 200個をそのまま相手にするハメにならずに済むかも。 copyやopenはFileなら全て同じ処理でしょうし (DOS系OSへの対処のためにTextFile.openはoverride する必要があったりしますが) File全てに共通する属性としてfilesizeなんかがあったり。 ls -l はそういう情報一式をosから貰ってくるモノでしょうかね。 #で、貰うついでに、lsでラッパObjectを生成しちゃったら #いいのでは?ってのが、ちょい前に投げたmailです。 open_withは、winのstartコマンドに相当するかも(^^; start hoge.doc でMSWordが起動し start http://hogehoge でwwwブラウザがURLを見に行く。 そういう情報を把握しているOSならば、OSから情報を 貰ってくるって手もある…のかな。 「Objectをlsで生成」なんていうと気になるのが 「Objectと実ファイルの現状が変化して食い違う」 ことです…が、winのshellでは「最新の情報に更新」 なんてmenuがありますし、ソレでイイような気もします。 >dev以下のファイルの振る舞いなんて、ポリモルフィズム >そのものだと思ったなあ。 あ。似てますよね。おかげで全てのデバイスはread/write 出来るんで、個々のデバイスごとにtemplete method(笑)のノリで read/writeを使って(あるいは使われて)他のメソッドを 構築することになる… ただし、それ(多態?)を「アプリの側が解決」しないとならないですが。 #共有ライブラリ+ディスクリプタ+関数、でお茶を濁してるというか。 ># BeOSとやらが、レプリカントだなんだとOOなOSのくせに、 ># bashが使えた(そういう画面を雑誌で見た)気がする。 クラス(みたいなもの)はMIMEでやってるんでしたっけ。 OSやアプリを記述する部分(C++)とは別個なのかな。 だとすればこれも一種のラッパーですね。 #あう。「Be++」のプログラミング解説頁はもう無いんですね(T_T)