[#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:8476] Re: [REQ] {enumerable, integer, range}.rand
西@九大です。
From: matz@netlab.co.jp (Yukihiro Matsumoto)
> 意図をできるだけ汲むと、結局array[rand(array.size)]相当の
> random が求められていて、かつ内容をまぜてしまう randomize,
> shuffleもあっても良いという話なんですかね。
はい、そうです。randomize/shuffle はどうでもいいです(失礼)。ていうか、
どの程度の randomize にするかが難しそうなので。
> を見ても分かる通り、このメソッドはeachだけでは定義できません。
> ですから、Enumerableに含まれる第1要件を満たしていません。
わたくし、Enumerable を誤解しておりました。単に「繰り返しを行うクラス
の支援」であり、each を備えているだけなんですね。Enumerable == Set で
あるといつの間にか思い込んでいました。混乱させて申し訳ありません。
> それなりに嬉しい局面も少なそうです。よってArrayに定義するこ
> とを推します。
はい。納得しました。Array#random で十分です。
> りません。なんだかプログラムの先頭に
...
> と3行追加することで十分のような気がします。
これなんですが、私は「それなりに利用価値があって、機能と名前が一致した
メソッドは、できるだけ組み込みで定義して欲しい」派です。理由は、
* (適切な名前の)述語は多いほどよい。(と思っている)
* メソッド数の増加によって実行コストが著しく高くなる事はない。(多分)
* 例え、後から一行で定義できるものであっても、何十個となると面倒。
* その場合、require 'my_methods' でもいいが、使わないものまで評価さ
れると悔しい(無駄に遅そう)。
* 自作のライブラリを配布する事を考えると、既存のクラスにあまり手を入
れたくない。(同じような他のライブラリとの conflict が恐い)
です。逆に、まつもとさんは「組み込みの定義は少ない方がよい」と考えられ
ている気がするのですが、もしそうであれば、その理由は何なのでしょうか?
> * もう一段説得されるまでなにもしない
%w(説得できる? 説得できない? 無理っぽい?).random
と書きたい衝動にかられないでしょうか?それとも、あくまでも、毎回定義す
る、もしくは一度テンポラリ変数の配列を用意して、size を添字にして、、、
#うぅ、お遊びプログラムをよく書くかどうか、の違いな気がしてきたらしい
> rand(Numeric/Range)はともかく、rand(Enumerable)ってどんな挙
> 動をするんですか?
これは先程述べた「Set と誤解」があるので、正しくは rand(Array) の事で、
「その要素の中からランダムに1つの要素を取り出す」を意図していました。
ていうか、「rand」=「ランダムに生成する」もひょっとして思い込みですか?
こう思っていたので、rand(Array)/Array#rand も共に自然だったのですが。
> します。(2)についてですが、randでは「乱数を返す」と思われそ
> うなのでやめた方が良さそうです。
なんか、rand 自身に「ランダムな*数*を生成する」という意味が含まれてい
る気がしてきました。うう、その場合、確かに私の発言は意味不明ですね。。。
------------------------------------------------------------------
九州大学大学院システム情報科学研究科 情報工学専攻 博士後期課程三年
西 和則 ( e-mail: kazunori@swlab.csce.kyushu-u.ac.jp )
------------------------------------------------------------------