[#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:8494] Re: [REQ] {enumerable, integer, range}.rand
西@九大です。
From: matz@netlab.co.jp (Yukihiro Matsumoto)
> 私もそんなに違いません(と思います)。
あー、よかった。ここらへんの違いは、「i++」や「空白入れる」どころじゃ
ない「決定的な思想の違い」な気がしたので。
> * 今回rand/randomという名前が適切だと思ってない(機能と名前
> が一致していると思わない)
了解しました。それと、自分なりに解決できたので、Array#rand の提案は取
り下げます。他の人が続けるのを妨害する気はありません。
簡単に言えば、Kernel#rand と切り離して考えるつもりだったが、Array#rand
内で乱数に関する実装を行わない以上、無関係ではありえないと気付いた。な
らば、やはり rand は kernel が持つべきである。
その代わり、Kernel#rand(Array) を改めて提案しますが。。。
#オーバーロードです。
From: matz@netlab.co.jp (Yukihiro Matsumoto)
> 前述のようにrandはrand(3)を強く連想させるので、「enumerable
> の要素一つをランダムに得る」という挙動は、名前として不適切で
> しょうし、
なぜ、「rand は rand(3)を強く連想させる」事が、後半の否定に繋がるので
すか?「rand(xxx) に、乱数と全く無関係の動作を行わせる」(例えば、xxx
を表示する)という話であれば不適切ですが、ここでは逆に rand がランダム
を想起させるのでよいと思います。
あくまで、rand/random が意味するのは本質的には「ランダム」であり、unix
の影響や C言語の関数といった歴史的経緯により「乱数」を連想させているに
過ぎません。それも、(引数の型という)技術的な問題から「ランダム」の対象
が「数」に制限されているだけで、本来はその制限は不要だと考えます。
OO(多様性)の登場で、やっとその制限から解き放たれたのに、まだ「乱数」に
固執するメリットが見えません。非互換な訳でもなく、従来通りの利用もでき
るので問題はないと思うのですが。
という事で、Kernel#rand(Numeric/Range/Array) の機能拡張を推したいです。
私の立場的には、「rand は『乱数を返す』と思う」という人は放っておけば
よい、そのままで生活しても問題ないので。で、使いたい人は「乱数」以外の
使い方もできるというのがよい、です。前者が後者の使い方を見たときに「暗
号」に見える、という心配も考慮しないといけないんでしょうか?
> 引数や戻り値の意味を変更するならば、それはそれで良いのですが、それな
> らば統一的な意味が必要だと思います。
引数が Numeric であれば、(0...numeric) だと判断し、引数のオブジェクト
が表現する要素群の中から、1つの要素をランダムに選択し、返す。
でどうでしょうか?
------------------------------------------------------------------
九州大学大学院システム情報科学研究科 情報工学専攻 博士後期課程三年
西 和則 ( e-mail: kazunori@swlab.csce.kyushu-u.ac.jp )
------------------------------------------------------------------