[#10226] 組み込み Ruby — Kazuhiro Yoshida <moriq.kazuhiro@...>

もりきゅうです。

17 messages 2000/07/05
[#10230] Re: 組み込み Ruby — matz@... (Yukihiro Matsumoto) 2000/07/05

まつもと ゆきひろです

[#10231] Re: 組み込み Ruby — Kazuhiro Yoshida <moriq.kazuhiro@...> 2000/07/05

もりきゅうです。

[#10237] Re: 組み込み Ruby — matz@... (Yukihiro Matsumoto) 2000/07/06

まつもと ゆきひろです

[#10278] Re: environment variables — WATANABE Hirofumi <eban@...>

わたなべです.

162 messages 2000/07/11
[#10285] Re: environment variables — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/07/11

なかだです。

[#10306] Re: environment variables — nobu.nakada@... 2000/07/12

なかだです。

[#10355] Re: environment variables — nobu.nakada@... 2000/07/20

なかだです。

[#10359] Re: environment variables — Katsuyuki Komatsu <komatsu@...> 2000/07/23

小松です。

[#10360] Re: environment variables — nobu.nakada@... 2000/07/23

なかだです。

[#10361] Re: environment variables — Katsuyuki Komatsu <komatsu@...> 2000/07/23

小松です。

[#10370] Re: environment variables — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/07/24

なかだです。

[#10374] Re: environment variables — Katsuyuki Komatsu <komatsu@...> 2000/07/24

小松です。

[#10376] Re: environment variables — nobu.nakada@... 2000/07/24

なかだです。

[#10380] Re: environment variables — Katsuyuki Komatsu <komatsu@...> 2000/07/25

小松です。

[#10381] Re: environment variables — matz@... (Yukihiro Matsumoto) 2000/07/25

まつもと ゆきひろです

[#10386] Re: environment variables — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/07/25

なかだです。

[#10397] Re: environment variables — matz@... (Yukihiro Matsumoto) 2000/07/25

まつもと ゆきひろです

[#10399] Re: environment variables — nobu.nakada@... 2000/07/25

なかだです。

[#10407] Re: environment variables — Katsuyuki Komatsu <komatsu@...> 2000/07/26

小松です。

[#10409] Re: environment variables — Katsuyuki Komatsu <komatsu@...> 2000/07/26

小松です。

[#10416] Re: environment variables — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/07/26

なかだです。

[#10421] Re: environment variables — Katsuyuki Komatsu <komatsu@...> 2000/07/26

小松です。

[#10435] Re: environment variables — nobu.nakada@... 2000/07/27

なかだです。

[#10442] Re: environment variables — Katsuyuki Komatsu <komatsu@...> 2000/07/28

小松です。

[#10444] Re: environment variables — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/07/28

なかだです。

[#10446] Re: environment variables — Katsuyuki Komatsu <komatsu@...> 2000/07/28

小松です。

[#10453] Re: environment variables — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/07/31

なかだです。

[#10459] Re: environment variables — Katsuyuki Komatsu <komatsu@...> 2000/07/31

小松です。

[#10464] Re: environment variables — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/07/31

なかだです。

[#10466] Re: environment variables — Katsuyuki Komatsu <komatsu@...> 2000/07/31

小松です。

[#10472] Re: environment variables — Katsuyuki Komatsu <komatsu@...> 2000/08/01

小松です。

[#10474] Re: environment variables — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/08/01

なかだです。

[#10475] Re: environment variables — Katsuyuki Komatsu <komatsu@...> 2000/08/01

小松です。

[#10476] Re: environment variables — Katsuyuki Komatsu <komatsu@...> 2000/08/01

小松です。

[#10480] Re: environment variables — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/08/01

なかだです。

[#10483] Re: environment variables — Katsuyuki Komatsu <komatsu@...> 2000/08/01

小松です。

[#10485] Re: environment variables — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/08/01

なかだです。

[#10489] Re: environment variables — Katsuyuki Komatsu <komatsu@...> 2000/08/01

小松です。

[#10490] Re: environment variables — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/08/01

なかだです。

[#10491] Re: environment variables — Katsuyuki Komatsu <komatsu@...> 2000/08/01

小松です。

[#10492] Re: environment variables — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/08/01

なかだです。

[#10493] Re: environment variables — Katsuyuki Komatsu <komatsu@...> 2000/08/01

小松です。

[#10494] Re: environment variables — matz@... (Yukihiro Matsumoto) 2000/08/01

まつもと ゆきひろです

[#10495] Re: environment variables — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/08/02

なかだです。

[#10506] Re: environment variables — Katsuyuki Komatsu <komatsu@...> 2000/08/02

小松です。

[#10507] Re: environment variables — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/08/02

なかだです。

[#10508] Re: environment variables — Katsuyuki Komatsu <komatsu@...> 2000/08/02

小松です。

[#10509] Re: environment variables — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/08/02

なかだです。

[#10511] Re: environment variables — Katsuyuki Komatsu <komatsu@...> 2000/08/02

小松です。

[#10512] Re: environment variables — Katsuyuki Komatsu <komatsu@...> 2000/08/02

小松です。

[#10515] Re: environment variables — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/08/03

なかだです。

[#10516] Re: environment variables — Katsuyuki Komatsu <komatsu@...> 2000/08/03

小松です。

[#10518] Re: environment variables — matz@... (Yukihiro Matsumoto) 2000/08/03

まつもと ゆきひろです

[#10531] Re: environment variables — "Shigeo Kobayashi" <shigeo@...> 2000/08/03

小林です。

[#10547] Re: environment variables — Satoshi Nojo <nojo@...> 2000/08/03

能條といいます.

[#10549] Re: environment variables — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/08/04

なかだです。

[#10555] Re: environment variables — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/08/04

なかだです。

[#10558] Re: environment variables — matz@... (Yukihiro Matsumoto) 2000/08/04

まつもと ゆきひろです

[#10364] Re: environment variables — matz@... (Yukihiro Matsumoto) 2000/07/24

まつもと ゆきひろです

[#10365] Re: environment variables — WATANABE Hirofumi <eban@...> 2000/07/24

わたなべです.

[#10368] Re: environment variables — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/07/24

なかだです。

[#10369] Re: environment variables — WATANABE Hirofumi <eban@...> 2000/07/24

わたなべです.

[#10371] Re: environment variables — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/07/24

なかだです。

[#10372] Re: environment variables — WATANABE Hirofumi <eban@...> 2000/07/24

わたなべです.

[#10384] ruby 1.4.6 preview — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

24 messages 2000/07/25

[ruby-dev:10221] Re: modulo and remainder

From: Tadayoshi Funaba <tadf@...>
Date: 2000-07-05 07:23:16 UTC
List: ruby-dev #10221
ふなばです。

At 2000-07-05T13:51:16+0900 (2451730.70227JD),
matz@netlab.co.jp (Yukihiro Matsumoto) wrote:

matz> 最大の問題は

matz>  v = x / y
matz>  w = x % y

matz> または

matz>  v, w = x.divmod(y)

matz> としたときに

matz>   y * v + w = x

matz> が成立していなかったことです。

matz> 次の問題はFloat/Rational/Integerでdivmodの挙動が異なってい
matz> たことです。

僕もおかしいとは思っていてましたが、僕の理解は、実装のバグというもので
した。そして、仕様としては、modulo のほうを選んでいるのだと思っていま
した。どうしてかというと、かなり前に、ruby-list で、% の仕様について話
があって、そのときに、% の振舞いを決め、それを受けて、remainder もこの
ときに生まれたからです。問題はこのときの対処が、ずいぶんと不完全なもの
だったということですね。

matz> どちらを解決するためにも現状の振舞を変更する必要があります。

matz> で、前者を満たす方法はふたつあります。ひとつはfloorで丸める
matz> moduloとtruncate(0方向への丸め)で丸めるremainderです。で、後
matz> 者を解決するため、すべての数クラスでこの挙動を揃える必要があ
matz> ります。

なんらかの対処が必要なことは確かで、僕はそれをずっと待ってました。まつ
もとさんが、対処しようとしてくれていることは、たいへん、うれしく思って
います。

matz> で、今回の変更で私はremaidnerに揃えることを選んだというわけ
matz> です。なにか強いポリシーがあってremainderの方を選んだわけで
matz> はないのです。私は負の数を含むmodulo/remainderを使ったことは
matz> ありませんし、残念なことに実際に変更が行われるまで「どっちで
matz> も一緒」という意見しか聞けなかったので、それを疑う余地はなく、
matz> ただ実装がより簡単な方を選んだだけです。

ここで、僕は、ちょっと考えが違うのですが、「揃える」ことは大切なのだと
思いますが、それは、どちらかひとつを選ぶことには、ならないかもしれない
と思うのです。modulo と remainder の両方を用意してもいいと思います。基
本的に、今までと同じですね。

揃えるべきは、/ と % の組の振舞いで (もちろん、すべての Numeric な
classで)、このふたつの演算の振舞いが、floor-modulo なものか、
truncate-remainder なのかをハッキリさせればよいのではないかと思います
(僕は floor/moduloに一票)。なんか違うかな?

さらに、divmod (floor-modulo)、divrem (truncate-remainder) とすれば完
璧 (?)。

matz> |僕としては、最後の Common Lisp 流 mod、rem メソッドを導入、% を どちら
matz> |かの別名とする、が一番ありがたく、その場合は、% が mod (modulo) の別名
matz> |であれば、この上ないです。

matz> 了解です。その線を検討します。

よろしくお願いしますです。

ああでも、みんなこのことに関心ないみたいだなあ。ちょっとして、オレって、
modulo の熱狂的ファンなのか?

ふなば ただよし

In This Thread