abstract class Class
Defined in:
class.crprimitives.cr
Constructors
-  .cast(other) : self Casts other to this class. 
Class Method Summary
-  .<(other : T.class) : Bool forall T Returns whether this class inherits or includes other. 
-  .<=(other : T.class) : Bool forall T Returns whether this class inherits or includes other, or is equal to other. 
-  .==(other : Class) : Bool Returns whether this class is the same as other. 
-  .===(other) Case equality. 
-  .>(other : T.class) : Bool forall T Returns whether other inherits or includes self.
-  .>=(other : T.class) forall T Returns whether other inherits or includes self, or is equal toself.
- .clone
-  .dup Returns a shallow copy of this object. 
- .hash(hasher)
-  .inspect(io : IO) : Nil Appends a string representation of this object to the given IOobject.
-  .name : String Returns the name of this class. 
-  .nilable? : Bool Returns trueif this class isNil.
- .to_s(io : IO) : Nil
-  .|(other : U.class) forall U Returns the union type of selfand other.
Instance Method Summary
-  #<(other : T.class) : Bool forall T Returns whether this class inherits or includes other. 
-  #<=(other : T.class) : Bool forall T Returns whether this class inherits or includes other, or is equal to other. 
-  #==(other : Class) : Bool Returns whether this class is the same as other. 
-  #===(other) Case equality. 
-  #>(other : T.class) : Bool forall T Returns whether other inherits or includes self.
-  #>=(other : T.class) forall T Returns whether other inherits or includes self, or is equal toself.
-  #cast(other) : self Casts other to this class. 
- #clone
-  #dup Returns a shallow copy of this object. 
- #hash(hasher)
-  #inspect(io : IO) : Nil Appends a string representation of this object to the given IOobject.
-  #name : String Returns the name of this class. 
-  #nilable? : Bool Returns trueif this class isNil.
- #to_s(io : IO) : Nil
-  #|(other : U.class) forall U Returns the union type of selfand other.
Instance methods inherited from struct Value
  ==(other : JSON::Any)==(other : YAML::Any)
==(other) ==, dup dup
Instance methods inherited from class Object
  ! : Bool !,  !=(other) !=,  !~(other) !~,  ==(other) ==,  ===(other : JSON::Any)===(other : YAML::Any)
===(other) ===, =~(other) =~, as(type : Class) as, as?(type : Class) as?, class class, dup dup, hash(hasher)
hash hash, in?(collection : Object) : Bool
in?(*values : Object) : Bool in?, inspect(io : IO) : Nil
inspect : String inspect, is_a?(type : Class) : Bool is_a?, itself itself, nil? : Bool nil?, not_nil! not_nil!, pretty_inspect(width = 79, newline = "\n", indent = 0) : String pretty_inspect, pretty_print(pp : PrettyPrint) : Nil pretty_print, responds_to?(name : Symbol) : Bool responds_to?, tap(&) tap, to_json(io : IO) : Nil
to_json : String to_json, to_pretty_json(indent : String = " ") : String
to_pretty_json(io : IO, indent : String = " ") : Nil to_pretty_json, to_s(io : IO) : Nil
to_s : String to_s, to_yaml(io : IO) : Nil
to_yaml : String to_yaml, try(&) try, unsafe_as(type : T.class) forall T unsafe_as
Class methods inherited from class Object
  from_json(string_or_io, root : String)from_json(string_or_io) from_json, from_yaml(string_or_io : String | IO) from_yaml
Constructor Detail
def self.cast(other) : selfSource
Casts other to this class.
This is the same as using as, but allows the class to be passed around as an argument. See the documentation on as for more information.
klass = Int32 number = [99, "str"][0] typeof(number) # => (String | Int32) typeof(klass.cast(number)) # => Int32
Class Method Detail
def self.<(other : T.class) : Bool forall TSource
Returns whether this class inherits or includes other.
Int32 < Number # => true Int32 < Value # => true Int32 < Int32 # => false Int32 <= String # => false
def self.<=(other : T.class) : Bool forall TSource
Returns whether this class inherits or includes other, or is equal to other.
Int32 < Number # => true Int32 < Value # => true Int32 <= Int32 # => true Int32 <= String # => false
def self.==(other : Class) : BoolSource
Returns whether this class is the same as other.
Int32 == Int32 # => true Int32 == String # => false
def self.===(other)Source
Case equality.
The #=== method is used in a case ... when ... end expression.
For example, this code:
case value when x # something when x when y # something when y end
Is equivalent to this code:
if x === value # something when x elsif y === value # something when y end
Object simply implements #=== by invoking #==, but subclasses (notably Regex) can override it to provide meaningful case-equality semantics.
def self.>(other : T.class) : Bool forall TSource
Returns whether other inherits or includes self.
Number > Int32 # => true Number > Number # => false Number > Object # => false
def self.>=(other : T.class) forall TSource
Returns whether other inherits or includes self, or is equal to self.
Number >= Int32 # => true Number >= Number # => true Number >= Object # => false
def self.cloneSource
def self.dupSource
def self.hash(hasher)Source
def self.nilable? : BoolSource
Returns true if this class is Nil.
Int32.nilable? # => false Nil.nilable? # => true
def self.|(other : U.class) forall USource
Returns the union type of self and other.
Int32 | Char # => (Int32 | Char)
Instance Method Detail
def <(other : T.class) : Bool forall TSource
Returns whether this class inherits or includes other.
Int32 < Number # => true Int32 < Value # => true Int32 < Int32 # => false Int32 <= String # => false
def <=(other : T.class) : Bool forall TSource
Returns whether this class inherits or includes other, or is equal to other.
Int32 < Number # => true Int32 < Value # => true Int32 <= Int32 # => true Int32 <= String # => false
def ==(other : Class) : BoolSource
Returns whether this class is the same as other.
Int32 == Int32 # => true Int32 == String # => false
def ===(other)Source
Case equality.
The #=== method is used in a case ... when ... end expression.
For example, this code:
case value when x # something when x when y # something when y end
Is equivalent to this code:
if x === value # something when x elsif y === value # something when y end
Object simply implements #=== by invoking #==, but subclasses (notably Regex) can override it to provide meaningful case-equality semantics.
def >(other : T.class) : Bool forall TSource
Returns whether other inherits or includes self.
Number > Int32 # => true Number > Number # => false Number > Object # => false
def >=(other : T.class) forall TSource
Returns whether other inherits or includes self, or is equal to self.
Number >= Int32 # => true Number >= Number # => true Number >= Object # => false
def cast(other) : selfSource
Casts other to this class.
This is the same as using as, but allows the class to be passed around as an argument. See the documentation on as for more information.
klass = Int32 number = [99, "str"][0] typeof(number) # => (String | Int32) typeof(klass.cast(number)) # => Int32
def cloneSource
def dupSource
def hash(hasher)Source
def nilable? : BoolSource
Returns true if this class is Nil.
Int32.nilable? # => false Nil.nilable? # => true
def |(other : U.class) forall USource
Returns the union type of self and other.
Int32 | Char # => (Int32 | Char)
    © 2012–2021 Manas Technology Solutions.
Licensed under the Apache License, Version 2.0.
    https://crystal-lang.org/api/1.2.1/Class.html