From: tadayoshi funaba Date: 2011-10-31T21:34:01+09:00 Subject: [ruby-dev:44727] [ruby-trunk - Feature #5514] Numeric への quotient と quotrem の追加 Issue #5514 has been updated by tadayoshi funaba. 丸めの方向の問題なので、ruby の場合 floor、ceil、truncate、round がある ことから、4つのパターンが有り得ると思います。ruby の div-mod は、floor 系と考えればいいと思います。実際、Common Lisp の floor は ruby の div と divmod をも含んだ内容になっています。実際の利用のされかたからすると すべてが等価値でないので、あとは truncate 系の quotient と quotrem をだ けあったらいいと思います。 例として身近にある位取り法を見てみると、暦では外挿して1年の前を紀元前1 年 (零年) として表現したりしますが、その零には特別な意味がないわけです から、紀元前でも後でも1月の前の月は12月のという事になります。この場合は、 floor 系をつかう事になります。一方で、時差を考える場合は、零に向って丸 めるわけですから truncate 系が必要になります。 他の言語だと、smalltalk では、quo と rem があって、haskell では quot、 rem、quotRem、CL では truncate をつかう事ができます。 ---------------------------------------- Feature #5514: Numeric への quotient と quotrem の追加 http://redmine.ruby-lang.org/issues/5514 Author: tadayoshi funaba Status: Open Priority: Low Assignee: Category: Target version: 2.0 Ruby では余りを求めるために modulo (%) と remainder が提供されています が、modulo には対応する div があり、またその組み合わせである divmod も 存在しますが remainder にはありません。そこで対応する quotient と quotrem を追加することを提案します。 -- http://redmine.ruby-lang.org