[#8530] Enumerable and rand — Koretsugu Daigoro <tmmcross@...>

これつぐです。

21 messages 1999/12/05
[#8534] Re: Enumerable and rand — matz@... (Yukihiro Matsumoto) 1999/12/06

まつもと ゆきひろです

[#8581] Re: [ruby-list:19228] Ruby 1.4.3 — Katsuyuki Komatsu <komatsu@...>

小松です。

19 messages 1999/12/07
[#8592] Re: [ruby-list:19228] Ruby 1.4.3 — matz@... (Yukihiro Matsumoto) 1999/12/07

まつもと ゆきひろです

[#8645] urllib and httplib — TAKAHASHI Masayoshi <maki@...>

高橋征義です。

47 messages 1999/12/14
[#8646] Re: urllib and httplib — "NAKAMURA, Hiroshi" <nakahiro@...> 1999/12/14

なひです.

[#8653] Re: urllib and httplib — matz@... (Yukihiro Matsumoto) 1999/12/14

まつもと ゆきひろです

[#8656] Re: urllib and httplib — "NAKAMURA, Hiroshi" <nakahiro@...> 1999/12/15

なひです.

[#8659] Re: urllib and httplib — Wakou Aoyama <wakou@...> 1999/12/15

青山です。

[#8685] Re: urllib and httplib — "NAKAMURA, Hiroshi" <nakahiro@...> 1999/12/21

なひです.

[#8687] Re: urllib and httplib — TAKAHASHI Masayoshi <maki@...> 1999/12/21

高橋征義です。

[#8690] Re: urllib and httplib — matz@... (Yukihiro Matsumoto) 1999/12/21

まつもと ゆきひろです

[#8717] Re: urllib and httplib — TAKAHASHI Masayoshi <maki@...> 1999/12/24

高橋征義です。

[#8963] Re: urllib and httplib — "NAKAMURA, Hiroshi" <nakahiro@...> 2000/01/19

なひです.

[#8650] [PATCH] Ruby/Tk — Koji Arai <JCA02266@...>

新井です。

20 messages 1999/12/14
[#8651] Re: [PATCH] Ruby/Tk — Koji Arai <JCA02266@...> 1999/12/14

新井です。

[#8692] [win] dir name — KANEKO Naoshi <wbs01621@...>

金子です。

22 messages 1999/12/21
[#8695] Re: [win] dir name — Koji Oda <oda@...1.qnes.nec.co.jp> 1999/12/22

小田@QNES です。

[#8741] Re: [ruby-list:19945] Re: array + empty string — Wakou Aoyama <wakou@...>

青山です。

18 messages 1999/12/27
[#8743] Re: [ruby-list:19945] Re: array + empty string — matz@... (Yukihiro Matsumoto) 1999/12/28

まつもと ゆきひろです

[#8742] [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — Kazunori NISHI <kazunori@...>

西@九大です。

64 messages 1999/12/27
[#8744] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — matz@... (Yukihiro Matsumoto) 1999/12/28

まつもと ゆきひろです

[#8748] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — Kazunori NISHI <kazunori@...> 1999/12/28

西@九大です。

[#8751] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — matz@... (Yukihiro Matsumoto) 1999/12/28

まつもと ゆきひろです

[#8767] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — Kazunori NISHI <kazunori@...> 1999/12/29

西@九大です。

[#8777] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — matz@... (Yukihiro Matsumoto) 1999/12/30

まつもと ゆきひろです

[#8791] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — Minero Aoki <aamine@...> 1999/12/31

あおきです。

[#8792] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — matz@... (Yukihiro Matsumoto) 1999/12/31

まつもと ゆきひろです

[#8793] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — ARIMA Yasuhiro <fit0298@...> 1999/12/31

有馬です。

[#8795] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — Akinori MUSHA aka knu <knu@...> 1999/12/31

 knuです。

[#8798] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — matz@... (Yukihiro Matsumoto) 2000/01/01

まつもと ゆきひろです

[#8811] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — Akinori MUSHA aka knu <knu@...> 2000/01/03

 knuです。

[ruby-dev:8614] Re: Enumerable and rand

From: Koretsugu Daigoro <tmmcross@...>
Date: 1999-12-08 22:34:25 UTC
List: ruby-dev #8614
これつぐです。


予想もしてなかったところに影響してびっくりしています。

[ruby-dev:8612] Re: Enumerable and rand
> ごとけんです

> >||IO#each 自体を廃止するんでしょうか。
> >|
> >|ゆうべいろいろ考えたんですが、結論としては size/length だけ
> >|を Enumerable からはずすのが妥当という気がして来ました。
> >
> >なるほど。またまた絶妙な判断ですね。
> 
> ぼくも、size/length のみをはずすと言うまつもとさんの案に賛成
> です。Enumerable#random_get を書いててそう思いました。有限性
> とEnumerableは独立だと考えるからです

でも、ほかの有限性を要求するメソッドは残すんですよね?
このあたりのセンスとか、さじ加減とかがまだわかってないみたいです。
ようやく Enumerable の誤解が解けたかと思っていましたがまだまだのようで……。
奥が深い。

私は今まで Enumerable をもっと制約の多いものだと思いこんでいました。
たとえば「有限も込み」だと思っていたのです。
あえて言い訳すると、
Enumerable であること以上を要求するメソッドがちょっと多過ぎです。
殊に要素が有限であることを要求するメソッドと、
<=> を要求するメソッドがあるのは少し気持ち悪いです。
かと言って

  * 有限かどうか
  * 数え上げられるかどうか
  * 比較できるかどうか

で場合分けしてモジュールを作るのも頭が悪いですね。
うーむ……。

> またIOからEnumerableを外すのにも反対です。これはEnumerableに
> 素敵な変更が将来あった場合にIOへの変更が後手後手になりそうだ
> からです。

厳密であることより簡便であることを優先している(ように見える)現状では、
(そういう意味では Enumerable#rand も間違いではない?)
Enumerable#size/length も IO include Enumerable も
特にいじらなくてもよいのではないか、と思っているんですが、

  * IO/File オブジェクトにとってすべての要素とはなにか。
  * Enumerable のメソッドは必ずすべての要素を参照すべきか。

をどう考えるかによっては、
違う結論になるかもしれません。


# 名前の問題、sample/sampling は?
# 結論: ランダムが前面に出ないのでいまいち。

In This Thread