[ruby-core:77855] [Ruby trunk Feature#12515] Create "Boolean" superclass of TrueClass / FalseClass
From:
rr.rosas@...
Date:
2016-11-01 14:56:42 UTC
List:
ruby-core #77855
Issue #12515 has been updated by Rodrigo Rosenfeld Rosas.
Nobuyoshi Nakada wrote:
> Rodrigo Rosenfeld Rosas wrote:
> > Maybe something like:
>
> ```ruby
> Boolean = [true, false]
> ```
>
> > ~~~ruby
> > input.zip([String, String, String, Boolean, String, Boolean]).all?{|(i, c)| c === i }
> > ~~~
This doesn't seem to work as I just tested in irb: [true, false] === true => false
----------------------------------------
Feature #12515: Create "Boolean" superclass of TrueClass / FalseClass
https://bugs.ruby-lang.org/issues/12515#change-61169
* Author: Loren Segal
* Status: Rejected
* Priority: Normal
* Assignee:
----------------------------------------
Since Ruby 2.4 is unifying Bignum/Fixnum into Integer (https://bugs.ruby-lang.org/issues/12005), it seems reasonable to do something similar for TrueClass / FalseClass, and create a proper Boolean hierarchy. The implementation would be fairly straightforward and should be back compat unless someone already has a "Boolean" class at toplevel out there.
Given the compatibility implications of Integer, this Boolean proposal is even less intrusive.
Sample implementation:
~~~
class Boolean < BasicObject; end
class TrueClass < Boolean; end
class FalseClass < Boolean; end
~~~
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>