Project

General

Profile

Actions

Feature #20756

closed

Introduce Boolean class

Added by kbrock (Keenan Brock) 2 months ago. Updated 2 months ago.

Status:
Rejected
Assignee:
-
Target version:
-
[ruby-core:119262]

Description

Hello All,

Is is possible to add a parent class for TrueClass and FalseClass?
I always found it strange that there was not a concept to group true and false together.

e.g.:

class TrueClass  < Boolean ; end
class FalseClass < Boolean ; end

# replaces the hack:
module Boolean ; end
TrueClass.include(Boolean);
FalseClass.include(Boolean);

In our code, we often want to validate that a value is of a certain type.

case(value)
when String  ...
when Integer ...
when true, false ... # Boolean
# alt: when TrueClass, FalseClass 
end

# or

def valid_args?
  value.kind_of?(String)
end
def valid_args?
  value.kind_of?(Integer)
end
def valid_args?
  [true, false].include?(value)
  [TrueClass, FalseClass].detect { |klass| value.kind_of?(klass) }
end

Does it make sense to others to have a way to group true and false together?

Thank you for your thoughts,
Keenan


Related issues 4 (1 open3 closed)

Related to Ruby master - Feature #14224: Boolean classRejectedActions
Related to Ruby master - Bug #12827: Add Boolean data type.RejectedActions
Related to Ruby master - Feature #12515: Create "Boolean" superclass of TrueClass / FalseClassRejectedActions
Related to Ruby master - Feature #20882: Provide Boolean(...)OpenActions
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0