[#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:8488] Re: [REQ] {enumerable, integer, range}.rand
まつもと ゆきひろです
In message "[ruby-dev:8477] Re: [REQ] {enumerable, integer, range}.rand"
on 99/12/01, Koretsugu Daigoro <tmmcross@hk.airnet.ne.jp> writes:
|「rand だと乱数を返すと思われそう」というのはわかるんですが、
|なぜ「random だとそう思われない」のでしょうか?
|rand は random の省略だと思っていたのですが、
|もしかしてそうではない!?
えーと、UNIXの影響を強く受けていると公言しているRubyにおいて、
randomという英単語をrandと省略することはrand(3)を強く連想さ
せ、よって乱数を返すと思われそう、というのが趣旨だったんです
が、そういえば random(3) なんてのもありますね。
randにしてもrandomにしても「配列のいずれかの(ランダムな)要素
を返す」という挙動に対して適切な名前ではないことを認めざるを
得ないですね。
一方、randomize, shuffleにはそのような挙動と名前の解離は存在
しないように思われますが、そういうのが本当に必要かという疑問
には答えがないように思います。
|each で出来ないのはそのとおりなんですが、
|結果的に Enumerable なクラスでは同じ程度には有用なので、
|どうせ Range や Array で定義するんだったら、
|Enumerable でやってしまったほうがいいという考え方もできませんか?
んなことはないですよ。Enumerableってのは「順に要素が取り出せ
る」という意味しか無いんですから。
class Random
include Enumerable
def initialize(max)
@max = max
end
def each
loop do
rand(@max)
end
end
end
とかね。
また、Enumerableでrandを実現するためには、一度全部の要素を配
列に変換する必要があり、効率の悪さ、繰り返しできない可能性な
どの要素を考えても賛成できません。
たとえば、
f = open("/usr/dict/words")
f.rand
f.rand
としたらどうなると思いますか?
words = open("/usr/dict/words").readlines
words.rand
words.rand
の方が良くないですか? (randという名前は別として)
|うーん、でもやっぱり組み込みにするなら、
|rand(enumerable) が妥当だと思うのです。
|(↑enumerable の要素一つをランダムに得る)
前述のようにrandはrand(3)を強く連想させるので、「enumerable
の要素一つをランダムに得る」という挙動は、名前として不適切で
しょうし、さらにEnumerable一般に「要素一つをランダムに得る」
という行為にも賛成できません。
# つまり名前の問題である、と。
まつもと ゆきひろ /:|)