[#30872] segv when reentering into Fiber with callcc — sheepman <sheepman@...>
こんばんは、sheepman です。
ささだです。
遠藤と申します。
ささだです。
遠藤です。
ささだです。
まつもと ゆきひろです
In article <E1Hw9be-0002Rs-Qg@x31>,
まつもと ゆきひろです
[#30920] Integer#prime_division と Prime — TOYOFUKU Chikanobu <nobu_toyofuku@...>
豊福です。
[#30929] secrand.rb — "NAKAMURA, Hiroshi" <nakahiro@...>
-----BEGIN PGP SIGNED MESSAGE-----
In article <4669066C.2080307@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
In article <46694461.4060706@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
In article <46697C0B.8060402@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
In article <4669DAB0.4050705@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
In article <466AA73C.9030407@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
なかだです。
-----BEGIN PGP SIGNED MESSAGE-----
In article <466D5B1D.8030205@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
In article <469253E9.9010203@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
-----BEGIN PGP SIGNED MESSAGE-----
In article <4694338C.7090303@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
In article <4694E6A6.2060303@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
なかだです。
-----BEGIN PGP SIGNED MESSAGE-----
なかだです。
-----BEGIN PGP SIGNED MESSAGE-----
[#30971] Linux/ia64で'ucontext_t' undeclared — akira yamada / やまだあきら <akira@...>
最近のRuby 1.9をLinux/ia64上でmakeしようとすると
まつもと ゆきひろです
Yukihiro Matsumoto さんは書きました:
まつもと ゆきひろです
Yukihiro Matsumoto さんは書きました:
まつもと ゆきひろです
In article <E1HygwQ-0001OA-4f@x31>,
ささだです。
[#30996] new block parameter rule — SASADA Koichi <ko1@...>
ささだです。
[#31002] ("a".."f").step(2) {|x| p x} — Tanaka Akira <akr@...>
string の range の step で引数が効かないように思います。
まつもと ゆきひろです
ささだです。
まつもと ゆきひろです
[#31028] rb_get_interned — Nobuyoshi Nakada <nobu@...>
なかだです。
[#31034] Re: [ruby-cvs:19815] Ruby:r12579 (trunk): * parse.y (rb_intern2): name may not be NUL-terminated. — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
[#31046] Conditional jump or move depends on uninitialised value(s) in TOPLEVEL_BINDING — Tanaka Akira <akr@...>
valgrind をかけたところとりあえず最初のが
ささだです。
[#31063] make error at bcc32 — "Nebata" <tnebata@...>
ねばたです。
[#31066] consts for gdb support — Nobuyoshi Nakada <nobu@...>
なかだです。
[#31068] $&;[] dumps core — "Yusuke ENDOH" <mame@...>
遠藤と申します。
ささだです。
遠藤です。
ささだです。
遠藤です。
[#31072] {*0} dumps core — "Yusuke ENDOH" <mame@...>
遠藤と申します。
ささだです。
[ruby-dev:30954] Random
In article <466D5B1D.8030205@sarion.co.jp>,
"NAKAMURA, Hiroshi" <nakahiro@sarion.co.jp> writes:
> 実装はあとでどうとでもなるので、akrさんにインターフェースを決めていただ
> きたいところ。思わずrandから移行したくなるような奴をお願いします。
rand の 4文字という短さには勝てないって...
パッチを見るとインターフェースは以下のようになってますね。
Random < Data
Random#rand
Random.seed
Random.default
Random.default=(klass)
Random.current
Random.current=(rng)
Random::MT < Random
Random::MT#initialize(seed)
Random::MT#float
Random::MT#upto(max_plus_one)
Random::MT#seed
まず気がつくのは Random じゃなくて Random::MT ということです。
これと別のデザインとしては、Random 自体を Mersenne Twister
のクラスにするというものがあるでしょう。
おそらくまつもとさんは後者を考えているんじゃないですかね。
私も Random 自体でいいと思います。必要なら後で
Random::MT = Random ともできますし。
Kernel.{rand,srand} の切替え用に default, current がありますが、
グローバルな状態を増やすのは感心しません。
Mersenne Twister を期待するライブラリとそうでないライブラリ
があったとき、切替えで両方の希望を満たすことはできません。
ライブラリの組合せのことを考えたら、こういう機能はないほうが
いいと思います。Mersenne Twister 以外を使いたければ自分で生
成した random number generator を自分で保持しておけばいいで
しょう。
もし、Mersenne Twister を期待するライブラリが存在しないとい
う状況が生まれるとしたら、Mersenne Twister に問題が発見され
た時だと思うのですが、そのときは ruby 本体を直すのが正道だし、
それでは間に合わないとしても rand/srand を再定義することは可
能ですから、こういう切替え機能はいらないんじゃないでしょうか。
切替えの別案としては、グローバルでなく、ダイナミックに、とか
レキシカルに、というものが考えられますが、ダイナミック (スレッ
ド変数) だとライブラリ間の期待の衝突を防げませんし、レキシカ
ルというのは今の Ruby でどう実装したらいいかわかりません。切
替えについては selector namespace とか classbox で
rand/srand をレキシカルに切替えられることを期待するあたりが
いいんじゃないでしょうか。
Random::MT の中については upto という名前が気になります。
upto(10) ならやっぱり 10 までだと思うのですが、ここでは 9 ま
でなので名前がよろしくないと思います。すぐに思い付くメソッド
名としては integer があげられるでしょうか。
あとは追加メソッドを検討すると OpenSSL::Random や
SecureRandom から random_bytes, hex, base64 が考えられますが、
そういうのがあると cookie に使いやすくなるのでむしろないほう
がいいという気がします。
--
[田中 哲][たなか あきら][Tanaka Akira]