Issue #5310 has been updated by mame (Yusuke Endoh).

Status changed from Open to Assigned
Assignee set to mrkn (Kenta Murata)

Hello, Mrkn-san

Could you tell me the status?

-- 
Yusuke Endoh <mame / tsg.ne.jp>
----------------------------------------
Feature #5310: Integral objects
https://bugs.ruby-lang.org/issues/5310#change-25213

Author: mrkn (Kenta Murata)
Status: Assigned
Priority: Normal
Assignee: mrkn (Kenta Murata)
Category: 
Target version: 


I believe it is ambiguous what object can behave as an integral number.
I don't think the current use of Object#to_int isn't appropriate for this purpose.

The most understandable example is Float#to_int.
It should raise error for all float values because they always have uncertainty,
but it doesn't and returns an integral part of it.

I propose to change the use of Object#to_int for the next release of Ruby.
I recommend the following specification changes:

(1) Remove to_int method from Float and BigDecimal.
(2) Rational#to_int returns an Integer only if its denominator is 1. Otherwise, it raises an appropriate error.
(3) Complex#to_int returns the result of to_int of its real part only if its imaginary part is exactly zero (0.0 isn't exactly zero).

If anyone have another idea, please give me your comment.


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