高橋です。

Ryunosuke Ohshima <ryu / jaist.ac.jp>さん:
> 実は僕もこういう多重代入をするコードを書いてしまっています。僕自身、
> 多少まずい気がしているのですが、やはり1つのオブジェクトなりにまとめ
> た方が分かりやすいでしょうか?

これは場合によりますよね。
明らかに何と何を返すのかが分かるんならいいんですけど。

Net::HTTP::get の場合ですと、code、message、version、header、
bodyなどなど、たくさん返り値になりそう(実際になる)なものがあり
ます。
これらがどういう粒度、どういう順序で返されるのかを考えるよりは、
まとめてobjectにして返してもらい、必要に応じてアクセスメソッドで
取り出す、というのが分かりやすいんじゃないかと思うのです。

> > net/http.rb を使っている他の方の意見もぜひ聞いてみたいです。
> 
> 僕はWeb Robotなどに利用させていただいていますが、get2を使っています。
> あおきさんが言われているように、get2で良いのではないかと感じています。

うーん、要するにget2だけあればgetはなくても構わない、ということ
でしょうか?  getはこうあった方がいい、ということではなくて。
まあget2だけでしのげないことはないです。自力で例外を上げれば
いいんですから。

> get2って名前自体が問題だとは思いますが、
> getに置き換えるわけにもいかないのなら、新たに名前をつけるというのは
> どうでしょうか?たとえばreadですとか。(これはこれで問題がありそうで
> すが。)

# readはさすがに……。

get_noexception は長すぎるので、get_silentとか? get_noerror は
何か違うものを想像しそう。

高橋征義 (TAKAHASHI Masayoshi)       Email:maki / inac.co.jp