From: "alexeymuranov (Alexey Muranov)" Date: 2013-03-02T01:48:53+09:00 Subject: [ruby-core:53078] [ruby-trunk - Feature #7978] boolean to_i Issue #7978 has been updated by alexeymuranov (Alexey Muranov). phluid61 (Matthew Kerwin) wrote: > > Similarly, why should true.to_i return 1, and not -1 (as in Visual Basic) or 43 or 0 (which is also a truthy value)? If some event is going to happen with probability 1, it is almost true that it will happen. If it is going to happen with probability 0, it is almost false that it will happen. ---------------------------------------- Feature #7978: boolean to_i https://bugs.ruby-lang.org/issues/7978#change-37230 Author: alexeymuranov (Alexey Muranov) Status: Rejected Priority: Normal Assignee: matz (Yukihiro Matsumoto) Category: core Target version: next minor =begin The current behavior is the following: > nil.to_i => 0 > false.to_i NoMethodError: undefined method `to_i' for false:FalseClass > true.to_i NoMethodError: undefined method `to_i' for true:TrueClass This does not look very consistent to me. I think it could be useful to define (({false.to_i})) as 0 and (({true.to_i})) as 1. I think those are fairly common numeric values for False and True. These values as strings "0" and "1" are also commonly used in HTML forms to represent boolean values. =end -- http://bugs.ruby-lang.org/