abstract class Class

Defined in:

class.cr
primitives.cr

Constructors

Class Method Summary

Instance Method Summary

Instance methods inherited from struct Value

==(other) ==, dup dup

Instance methods inherited from class Object

!=(other) !=, !~(other) !~, ==(other) ==, ===(other : JSON::Any)
===(other : YAML::Any)
===(other)
===
, =~(other) =~, class class, dup dup, hash hash, inspect(io : IO)
inspect
inspect
, itself itself, not_nil! not_nil!, pretty_inspect(width = 79, newline = "\n", indent = 0) : String pretty_inspect, pretty_print(pp : PrettyPrint) : Nil pretty_print, tap(&block) tap, to_json(io : IO)
to_json
to_json
, to_pretty_json(indent : String = " ")
to_pretty_json(io : IO, indent : String = " ")
to_pretty_json
, to_s
to_s(io : IO)
to_s
, to_yaml(io : IO)
to_yaml
to_yaml
, try(&block) try, unsafe_as(type : T.class) forall T unsafe_as

Constructor methods inherited from class Object

from_json(string_or_io, root : String) : self
from_json(string_or_io) : self
from_json
, from_yaml(string_or_io) : self from_yaml

Constructor Detail

def self.cast(other) : self #

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

View source

Class Method Detail

def self.==(other : Class) #

View source
def self.===(other) #

View source
def self.clone #

View source
def self.dup #

View source
def self.hash #

View source
def self.inspect(io) #

View source
def self.name : String #

Returns the name of this class.

String.name # => "String"

View source
def self.nilable? #

Returns true if this class is Nil.

Int32.nilable? # => false
Nil.nilable?   # => true

View source
def self.to_s(io) #

View source
def self.|(other : U.class) forall U #

Returns the union type of self and other.

Int32 | Char # => (Int32 | Char)

View source

Instance Method Detail

def ==(other : Class) #

View source
def ===(other) #

View source
def cast(other) : self #

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

View source
def clone #

View source
def dup #

View source
def hash #

View source
def inspect(io) #

View source
def name : String #

Returns the name of this class.

String.name # => "String"

View source
def nilable? #

Returns true if this class is Nil.

Int32.nilable? # => false
Nil.nilable?   # => true

View source
def to_s(io) #

View source
def |(other : U.class) forall U #

Returns the union type of self and other.

Int32 | Char # => (Int32 | Char)

View source