[#10160] 1 >> 323232 — Tadayoshi Funaba <tadf@...>
ふなばです。
[#10168] [BUG] ruby-1.5.4 — Koji Arai <JCA02266@...>
新井です。
[#10170] sort_by — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#10197] Re: modulo and remainder — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#10217] exit status of child process — nagai@...
永井@知能.九工大です.
まつもと ゆきひろです
[#10226] 組み込み Ruby — Kazuhiro Yoshida <moriq.kazuhiro@...>
もりきゅうです。
まつもと ゆきひろです
もりきゅうです。
まつもと ゆきひろです
もりきゅうです。
まつもと ゆきひろです
もりきゅうです。
助田です。みんな悩みは同じ。:-)
まつもと ゆきひろです
助田です。
[#10238] date/date2 — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
ふなばです。
まつもと ゆきひろです
ふなばです。
[#10243] Re: Time#usec — ARIMA Yasuhiro <fit0298@...>
有馬です。
[#10271] uri — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
なひです.
[#10272] date/date2 — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
ふなばです。
まつもと ゆきひろです
ふなばです。
まつもと ゆきひろです
ふなばです。
[#10278] Re: environment variables — WATANABE Hirofumi <eban@...>
わたなべです.
なかだです。
なかだです。
なかだです。
小松です。
なかだです。
小松です。
なかだです。
小松です。
なかだです。
小松です。
なかだです。
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
なかだです。
小松です。
小松です。
なかだです。
小松です。
なかだです。
小松です。
なかだです。
小松です。
なかだです。
小松です。
なかだです。
小松です。
小松です。
なかだです。
小松です。
小松です。
なかだです。
小松です。
なかだです。
小松です。
なかだです。
小松です。
なかだです。
小松です。
まつもと ゆきひろです
なかだです。
小松です。
なかだです。
小松です。
なかだです。
小松です。
小松です。
なかだです。
小松です。
なかだです。
小松です。
なかだです。
わたなべです.
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
小林です。
小林です。
小林です。
小林です。
能條といいます.
なかだです。
なかだです。
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
小松です。
なかだです。
まつもと ゆきひろです
わたなべです.
なかだです。
わたなべです.
なかだです。
わたなべです.
なかだです。
わたなべです.
わたなべです.
なかだです。
わたなべです.
なかだです。
わたなべです.
[#10280] Ruby 1.4.5 ext/socket/socket.c — Katsuyuki Komatsu <komatsu@...>
小松です。
[#10282] Config::CONFIG.each_value in rbconfig.rb — WATANABE Hirofumi <eban@...>
わたなべです.
まつもと ゆきひろです
わたなべです.
まつもと ゆきひろです
[#10288] bignum division has bug? — Hiroshi IGARASHI <igarashi@...>
いがらしです。報告だけですみませんが…
[#10325] [REQ] print a warning message for overriding Object#__id__ — Hideto ISHIBASHI <hideto-i@...4u.or.jp>
石橋"rubyholic"秀仁です。こんにちは。
[#10337] [PATCH] $OBJEXT and $objs in mkmf.rb — Minero Aoki <aamine@...>
あおきです。
[#10338] should prohibit `module_function' for class Class — WATANABE Hirofumi <eban@...>
わたなべです.
[#10341] list and quit command in debug.rb — WATANABE Hirofumi <eban@...>
わたなべです.
[#10356] [REQ] Array#replace {} — Minero Aoki <aamine@...>
あおきです。
[#10384] ruby 1.4.6 preview — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
わたなべです.
[ruby-dev:10204] Re: modulo and remainder
ふなばです。 At 2000-07-04T14:05:17+0900 (2451729.712JD), matz@netlab.co.jp (Yukihiro Matsumoto) wrote: matz> ruby-talkの話ですが、ruby-devにふります。 matz> ruby-mathな話かもしれませんが、ふなばさんは参加しておられな matz> いので。 どうも。数学も英語も苦手な僕としては、ありがたいことです。 matz> うーむ、moduloが必要だという点については理解しました。 matz> ふなばさんとしては「moduloがあれば良い」という立場なのでしょ matz> うか? それともPython流divmodでないと良くないという立場なの matz> でしょうか? (中略) matz> ruby-talkにも書きましたが、ありえる選択肢としては matz> * Python流 matz> * 現状(+modulo) matz> くらいを考えてます。でも、CL流のmod,remメソッドを導入(%はそ matz> のどちらかへのalias)というのもありえると思います。 実は、僕もまつもとさんの意図がよくわからないかもしれないです。僕は、簡 単に一貫性も互換性も確保できると思っているのですが、まつもとさんは、そ う思ってないのかなあ。僕の考えが浅はかなのかしら。そもそも、これまでの 問題も、仕様の問題なのか、実装の課題を解決できなかったのか、よくわから ないままです。 僕は数学が得意なわけではないし、「正しい」ことをしようとしているわけで ないと思います。 で、僕が一番困るのが、modulo がまったくなくなってしまうことです。大抵 の場合、僕が必要なのは、modulo のほうです。単純に、一利用者として困る のです。Common Lisp なら mod、Scheme なら modulo、Python、Perl、Ruby では、% で提供されていると認識しています (正しい?)。 つぎに、% の振舞いが変り、remainder がなくなるのは、互換性を損うので、 望ましくないと思います。僕もすでに書いたコードを調べなきゃならないです。 ただ、僕は、remainder のほうをつかった憶えはないです。なので、 remainder がなくなっても、それはあまり気にしないかもしれないです。 僕としては、最後の Common Lisp 流 mod、rem メソッドを導入、% を どちら かの別名とする、が一番ありがたく、その場合は、% が mod (modulo) の別名 であれば、この上ないです。 Common Lisp の floor は、オプショナルな引数をとることができ、多値を返 します。Python の divmod は、つぎのようなものではないかと思います。 (defun divmod (x y) (multiple-value-list (floor x y))) で、Ruby もこれでいいと思います。そうでなければならないわけではない、 のかもしれませんが、僕にとっては、望ましいです。 また、floor の代りに、truncate をつかうと、divrem (?) もできそうですが、 これもあっていいと思います。 (defun divrem (x y) (multiple-value-list (truncate x y))) Ruby の floor、to_i (trunc)、modulo、remainder は、つぎのように考えら れるかもしれません。 (defun ruby-floor (x) ;; #floor (car (multiple-value-list (floor x)))) (defun ruby-trunc (x) ;; #to_i (#trunc) (car (multiple-value-list (truncate x)))) (defun ruby-modulo (x y) ;; #modulo (cadr (multiple-value-list (floor x y)))) (defun ruby-remainder (x y) ;; #remainder (cadr (multiple-value-list (truncate x y)))) 別段 quotient があってはよくない、という考えはないです。 とりあえず、この Common Lisp を基にした仕様で、まつもとさんが、望む一 貫性なりなんなりが、確保できないものかと思うのですが、数学な人達はどう 思うかしら。 ところで、Common Lisp の floor 関数は、浮動小数点数も整数も受けつけま すよね。Scheme も Python でも同じです。 でも、Ruby では、整数は floor に応答しません。ここで、Ruby は負けてい ると思います。いちいち、型を検査すべきなのでしょうか。でも、それはより 一般的なコードを書くことの妨げにしかならないように思います。 一利用者としては、すべての数値クラスで、floor、ceil trunc, round がつ かえて、to_i は trunc の別名ということになれば、すっきりすると思うので すが。 ふなば ただよし