[#46908] [ruby-trunk - Bug #7774][Assigned] IFUNC上のbinding呼び出しでSEGV — "ktsj (Kazuki Tsujimoto)" <kazuki@...>

16 messages 2013/02/03

[#47075] [ruby-trunk - Bug #7924][Open] r39232 以降 net/http で正しく reponse を取得出来ないケースがある — "hsbt (Hiroshi SHIBATA)" <shibata.hiroshi@...>

15 messages 2013/02/23

[ruby-dev:47117] [ruby-trunk - Feature #5512][Assigned] Integer#/ の改訂

From: "shugo (Shugo Maeda)" <redmine@...>
Date: 2013-02-26 02:27:21 UTC
List: ruby-dev #47117
Issue #5512 has been updated by shugo (Shugo Maeda).

Status changed from Open to Assigned

ko1 (Koichi Sasada) wrote:
> 宙ぶらりんになっているようなので、まつもとさんにアサインしておきます。
> ご検討下さい。

そういえば、mrubyでは1 / 2が0.5 (Float)になる(ので規格に準拠していない)ようなのですが、
将来CRubyで仕様変更するための布石でしょうか。

後方互換性については、

  using OldIntegerDivision

としたらInteger#/が現在の挙動に戻るといった対応は考えられるかなと思いますが、その前に
Refinementsを何とかしないといけないですね…。

----------------------------------------
Feature #5512: Integer#/ の改訂
https://bugs.ruby-lang.org/issues/5512#change-37076

Author: tadf (tadayoshi funaba)
Status: Assigned
Priority: Normal
Assignee: matz (Yukihiro Matsumoto)
Category: core
Target version: Next Major


Integer#/ を Integer#quo の別名として定義しなおす事を提案します。

現在の Integer#/ はオペランドが整数である場合値が整数になります。整数を
与えた場合の結果だけを見て、あるいは整数ではない場合の結果だけを見て自
分の望み通りの結果を得たと思い込んでしまうかもしれません。

これついての対処として、Integer#div、または Integer#quo を利用するよう
啓蒙するなどいくつかの提案がありうるでしょうが、本質的な解決法は、やは
り仕様を変更するしかないと思われます。

これはプログラミングにおける総称性の確保の邪魔になり、Numeric#/ を利用
はバグの温床になり得えます。



-- 
http://bugs.ruby-lang.org/

In This Thread