[#8468] require で SEGV — ruby <g96p0935@...>
西本です。
[#8469] [PATCH] -s command line option — nobu.nakada@...
なかだです。
[#8507] mode_t in file.c — Katsuyuki Komatsu <komatsu@...>
小松です。
[#8530] Enumerable and rand — Koretsugu Daigoro <tmmcross@...>
これつぐです。
まつもと ゆきひろです
これつぐです。
まつもと ゆきひろです
原です。
まつもと ゆきひろです
原です。
ごとけんです
これつぐです。
[#8565] interface declaretion — "Dai.K." <MAP2303@...>
[#8581] Re: [ruby-list:19228] Ruby 1.4.3 — Katsuyuki Komatsu <komatsu@...>
小松です。
まつもと ゆきひろです
えぐち@エスアンドイー です。
小松です。
まつもと ゆきひろです
小松です。
[#8622] Win32API (Re: Ruby 1.4.3 binaries for Cygwin and DJGPP) — WATANABE Hirofumi <Hirofumi.Watanabe@...>
わたなべです.
有馬@FITECです。
よしだです
[#8623] [BUG?] core dump `ruby -r debug' — IWAMURO Motonori <iwa@...>
岩室@富士通です。
[#8635] slow gsub — WATANABE Hirofumi <Hirofumi.Watanabe@...>
わたなべです.
[#8645] urllib and httplib — TAKAHASHI Masayoshi <maki@...>
高橋征義です。
なひです.
高橋征義です。
なひです.
まつもと ゆきひろです
なひです.
青山です。
なひです.
高橋征義です。
まつもと ゆきひろです
高橋征義です。
なひです.
西@九大です。
なかだです。
あおきです。
[#8650] [PATCH] Ruby/Tk — Koji Arai <JCA02266@...>
新井です。
新井です。
新井です。
新井です。
永井@知能.九工大です.
新井です。
永井@知能.九工大です.
新井です。
新井です。
[#8665] [mswin32] STDERR does not work during `_function. — "NAKAMURA, Hiroshi" <nakahiro@...>
なひです.
金子です。
金子です。
[#8667] make symlinks around libruby.so in instruby.rb — akira yamada / やまだあきら <akira@...>
[#8692] [win] dir name — KANEKO Naoshi <wbs01621@...>
金子です。
小田@QNES です。
えぐち@エスアンドイー です。
小田@QNES です。
えぐち@エスアンドイー です。
なかだです。
小田@QNES です。
えぐち@エスアンドイー です。
小田@QNES です。
[#8705] [mswin32] 100% CPU usage when use sleep — Katsuyuki Komatsu <komatsu@...>
小松です。
まつもと ゆきひろです
小松です。
[#8722] [mswin32] Win32API — KANEKO Naoshi <wbs01621@...>
金子です。
小松です。
まつもと ゆきひろです
[#8741] Re: [ruby-list:19945] Re: array + empty string — Wakou Aoyama <wakou@...>
青山です。
まつもと ゆきひろです
青山です。
まつもと ゆきひろです
ごとけんです
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
[#8742] [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — Kazunori NISHI <kazunori@...>
西@九大です。
まつもと ゆきひろです
西@九大です。
まつもと ゆきひろです
西@九大です。
まつもと ゆきひろです
えぐち@エスアンドイー です。
西@九大です。
あおきです。議論も好き。
西@九大です。
あおきです。
まつもと ゆきひろです
有馬です。
knuです。
まつもと ゆきひろです
これつぐです。
knuです。
まつもと ゆきひろです
あおきです。
まつもと ゆきひろです
In message "[ruby-dev:8792] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num)"
まつもと ゆきひろです
ごとけんです
ごとけんです
なかだです。
ごとけんです
[ruby-dev:8534] Re: Enumerable and rand
まつもと ゆきひろです
In message "[ruby-dev:8530] Enumerable and rand"
on 99/12/05, Koretsugu Daigoro <tmmcross@hk.airnet.ne.jp> writes:
|> 僕としては Collection モジュールを作る、というのが嬉しいぞ。
|> # Collection って前に話出ましたっけ?
|
|ほかでも名前があがっていますが正確にはどんなものなのでしょう?
|最初に書いたとおり私は Enumerable/Set/Collection の区別ができていません。
Enumerableは「数え上げられる」という意味です。要求しているの
は each メソッドだけで、かならずしも要素数が有限である必要は
ないのですが、Enumerableモジュールは要素数が有限であることを
期待しているメソッドがいくつもあります。しかし、これは
Enumerableが「要素数が有限であることを要求している」のではな
く、このようなメソッドがあった方が実用上便利であるというのが
理由です。
Collectionという話は以前に出たことはないと思いますが、[]で任
意の順序の要素にアクセスできる Indexable というモジュールに
ついて話題になったことはあります。
|統一的な意味づけとして「ランダムに(一つ)選ぶ」を提案します。
うーん、これは「rand」という名前の意味を、ですか?
私としては「rand(10)」と「obj.rand」は区別したいと思っている
のですが。さらに、特別な理由がない限り、この両方の形式を同じ
名前で提供したくたいとも。
|rand(10) が rand(0..10) でも rand(1..10) でも
|rand((0.0)..(10.0)) でもなく、rand(0..9) なのはなぜでしょう?
|(引数「未満」の「整数」を返すのはなぜか?)
|推測ですが、これは配列等が意識されていると思います。
|つまりすでに要素という概念と結びついているのではないでしょうか。
これはUNIXのrand(3)がそうだからという以上の理由はありません。
rand(3)の意図としてそういうものがある可能性はありえますよね。
それは認めますが、「すでに要素という概念と結びついている」可
能性があるといって
|だとすると、
|rand(n) を「0 から n-1 の範囲の乱数を発生する」と読むより、
|「n 個の中からランダムに一つ選ぶ」と読むほうが自然です。(強引?)
ここまでは極端だと思います。
|また、仮に rand(Range) あるいは Range#rand を許すとすると、
|Range よりもう少し広いクラスで定義できそうです。
|なぜなら Range には順序がありますが、
|rand にとっては順序は意味がないからです。
|つまり rand([0, 1, 2, 3]) も rand([2, 0, 3, 1]) も意味は同じです。
ここまでは同意できないことはないのですが。
|で、「もう少し広いクラス」として私は Enumerable をあげているわけです。
Enumerableは
* 順序があるかないか
* 繰り返せるかどうか(eachが再現性があるか)
* 有限かどうか
のいずれにも制約がありませんから(最後のはちょっと制約してる
かな)、randの対象には広すぎるんじゃないかなあ。特に真中のが
ちょっとなあ。
|> んなことはないですよ。Enumerableってのは「順に要素が取り出せ
|> る」という意味しか無いんですから。
|
|Enumerable はもっと厳しい制限だと思います。
|本来は "Iteratable" とでも言うべきものだったのかもしれませんが、
|実情は Set (より正確には finite set?)であると思います。
私の意識だと「順に要素が取り出せるだけ」の方が「Finite Set」
よりも厳しい制限なのですが。each を複数回呼んで再現性がある
という保証もありませんし。
|可算集合(countable set)、たとえば「素数の集合」オブジェクトは
|要素を順に取り出せるという意味では Enumerable です。
|(prime_number.each{|n| ... } とできますよね?)
|が、 Enumerable の半分ぐらいのメソッドは意味がありません。
|(each_with_index{}, find{}, grep(){}, member?{}, index() 以外はだめ?)
|
|こういった理由もあって、私は Enumerable と FiniteSet を同一視していますが、
|これは間違いで、独立な概念なのでしょうか。
間違いとまでは言えませんが、設計者はFiniteを必須と考えている
わけではないですね。
まつもと ゆきひろ /:|)