[#2355] [Req] Array#reverse — keiju@... (Keiju ISHITSUKA)

けいじゅ@SHLジャパンです.

19 messages 1997/03/13
[#2357] Re: [Req] Array#reverse — matz@... (Yukihiro Matsumoto) 1997/03/13

まつもと ゆきひろです.

[#2359] Re: [Req] Array#reverse 1997/03/13

けいじゅ@SHLジャパンです.

[#2387] Kanji String — gotoken@... (GOTO Kentaro)

はじめまして、 後藤ともうします。

33 messages 1997/03/19
[#2389] Re: Kanji String — matz@... (Yukihiro Matsumoto) 1997/03/19

まつもと ゆきひろです.

[#2391] Re: Kanji String — gotoken@... (GOTO Kentaro) 1997/03/19

後藤です

[#2393] Re: Kanji String — matz@... (Yukihiro Matsumoto) 1997/03/19

まつもと ゆきひろです.

[#2465] curses library — MAEDA Shugo <ender@...> 1997/03/28

前田です。

[#2402] about TCPserver — MAEDA Shugo <ender@...>

前田です。

45 messages 1997/03/21
[#2403] Re: about TCPserver — matz@... (Yukihiro Matsumoto) 1997/03/22

まつもと ゆきひろです

[#2405] Re: about TCPserver — MAEDA Shugo <ender@...> 1997/03/23

前田です。

[#2406] Re: about TCPserver — matz@... (Yukihiro Matsumoto) 1997/03/24

[#2408] Re: about TCPserver — WATANABE Hirofumi <watanabe@...> 1997/03/24

わたなべです.

[#2411] Re: about TCPserver — MAEDA Shugo <ender@...> 1997/03/24

前田です。

[#2417] Re: about TCPserver — matz@... (Yukihiro Matsumoto) 1997/03/25

まつもと ゆきひろです.

[#2425] Re: about TCPserver — MAEDA Shugo <ender@...> 1997/03/25

前田です。

[#2439] url escape — gotoken@... (GOTO Kentaro)

どシロウトの後藤です.

57 messages 1997/03/27
[#2451] Re: url escape — sinara@... 1997/03/27

原です。

[#2455] class design (Re: url escape) — matz@... (Yukihiro Matsumoto) 1997/03/27

まつもと ゆきひろです

[#2471] Re: class design (Re: url escape) — sinara@... 1997/03/28

原です。

[#2487] Re: class design (Re: url escape) — matz@... (Yukihiro Matsumoto) 1997/03/29

まつもと ゆきひろです

[#2510] Re: class design (Re: url escape) 1997/03/30

けいじゅ@SHLジャパンです.

[#2603] Re: class design (Re: url escape) — sinara@... 1997/04/04

原です。

[#2505] Re: WWW library (Re: class design) — Shin-ichiro Hara <sinara@...>

原です。

15 messages 1997/03/30

[ruby-list:2507] Re: WWW library

From: gotoken@... (GOTO Kentaro)
Date: 1997-03-30 12:43:03 UTC
List: ruby-list #2507
後藤です

'97年03月30日(日) 午後06時頃、原さんがおっしゃるには:

 > > 僕が想像している基本方針としては URL をネットワークな
 > > オブジェクトにしたいなら, まず基本的なスキームを扱う仕様を
 > > 決めてそれで Mixin するのがいいのではないかと思います. 
 > モジュールにするということですか?URL クラス自体は、ホスト名、
 > ポートなどのリソースや、ソケットハンドル、接続状況の状態など
 > を保持しているはずですから、モジュールでなくクラスにすべきで
 > すよね。それとも、Socket を必要としない部分をモジュールにす
 > るということかな。

各スキームはモジュールで用意して、URL自体はクラス URL にする
というつもりでした。

 > ポリモルフィズムを考慮するとはどういう意味でしょうか?

日本語めちゃくちゃでごめんなさいです。
仮に、URL.open(urlspec) で作られるインスタンスのメソッドを
read(), readline(), readlines(), close(), info() の5つだと
します。大事なのは読みと状態を知ることですね。
でも urlspec で決まるスキームによっては、そのプロトコルの
違いから特化されたメソッドも欲しいわけで、そのような
スキーム間の差異をどうやって処理するかが気になります。
これを全部やっつけるような少数の汎用なメソッドを多態で
作り込むか、それとも雑関数の集まりを URL.ftp_TYPE(typespec) 
みたいな命名法で埋め込んでしまうかどうかです。

もし、python に習うなら URL は細かいことは関知せず、
そういったものは個別にクラスを用意してそいつらに任せると
いうことになります。 やっぱ、こっちがいいのかなぁ。 

さらに仮に python 流に簡単なインターフェイスだけ作るにしても
例えば  URL.open("ftp://...") するためには username と、 
passwd をあらかじめ設定しないといけないといったライブラリの
ユーザが知るべきマナーも結構ありそうです。

 > /usr/local/lib/ruby に入れるラ
 > イブラリとしては、
 > 
 > (1)なるべくシンプルであること
 > (2)ユーザーによる拡張が容易なこと
 > (3)実用的なこと
 > 
 > が必要だと思いますが、(3)を立てて、最初から timeout とか
 > 割り込みに対する処理を書き込んだり、(2)を立てて、インタ
 > ーフェースをたくさん作り込んだりすると、(1)が失われてし
 > まうんですよね。

これは原さんのもう一方のお返事[ruby-list:2505]の方で
続けて考えていくといいと思います。

 > たとえば、私が作りかけている hcp.rb(ホーム
 > ページの再帰的取得プログラム)では、イメージをダウンロード
 > 中に、ftp の hash の様に # マークを出力します。この手の事は
 > ブラウザを作るときも必要ですが、その様な機能を後で簡単に付
 > け加えたりできるライブラリであって欲しいと思います。しかし、
 > そのためにベーシックな url-lib.rb が不自然な形になって欲し
 > くはないわけです。この辺は ruby の達人にコツを教えていただ
 > きたいところです。

そうですね。 僕も HTML パーサーモジュールが欲しいなぁと
思ってますが、どれくらい SGML な部分を作るべきか迷ってます。
DTD を読めるようにしとかないと苦労しそうなのですが、
HTML 2.0 DTD の範囲では SGML のホントにちょっとしか使ってないし。
手元に ISO の仕様書がないのであんまり分からないし。

 > このさい(1)、(2)を捨てて、徹底的に作り込んだ、メッソ
 > ッドのデパートにしてしまうという手もあるかな?:-) でも、巨
 > 大なライブラリだと、そのライブラリを使いこなすより自分で書
 > いちゃった方が早いなんて思われるのが関の山で。

たしかにデパートはいいんですけど、ユーザは調べるのが
大変そうですね。 探すべきか書くべきかといった判断も。
個人的にはいろんな引数の善し悪しを調べてくれるものも含んだ
 RFC 番号が名前についたようなライブラリもあると後の開発には
便利な気もします。 これは欲張りすぎですかねぇ。

 > ライブラリの規模、その上でどんなアプリケーションを作りたい
 > かといのもある程度決め手おいた方がいいですかね。

そうかも知れませんね。
代表的なスキームとアプリケーションの規模を考えとくのは
大事そうです。

-- 後藤

In This Thread