# # Object is the default root of all Ruby objects. Object inherits from # BasicObject which allows creating alternate object hierarchies. Methods on # Object are available to all classes unless explicitly overridden. # # Object mixes in the Kernel module, making the built-in kernel functions # globally accessible. Although the instance methods of Object are defined by # the Kernel module, we have chosen to document them here for clarity. # # When referencing constants in classes inheriting from Object you do not need # to use the full namespace. For example, referencing `File` inside `YourClass` # will find the top-level File class. # # In the descriptions of Object's methods, the parameter *symbol* refers to a # symbol, which is either a quoted string or a Symbol (such as `:name`). # # ## What's Here # # First, what's elsewhere. Class Object: # # * Inherits from [class BasicObject](rdoc-ref:BasicObject@What-27s+Here). # * Includes [module Kernel](rdoc-ref:Kernel@What-27s+Here). # # Here, class Object provides methods for: # # * [Querying](rdoc-ref:Object@Querying) # * [Instance Variables](rdoc-ref:Object@Instance+Variables) # * [Other](rdoc-ref:Object@Other) # # ### Querying # # * #!~: Returns `true` if `self` does not match the given object, otherwise # `false`. # * #<=>: Returns 0 if `self` and the given object `object` are the same # object, or if `self == object`; otherwise returns `nil`. # * #===: Implements case equality, effectively the same as calling #==. # * #eql?: Implements hash equality, effectively the same as calling #==. # * #kind_of? (aliased as #is_a?): Returns whether given argument is an # ancestor of the singleton class of `self`. # * #instance_of?: Returns whether `self` is an instance of the given class. # * #instance_variable_defined?: Returns whether the given instance variable # is defined in `self`. # * #method: Returns the Method object for the given method in `self`. # * #methods: Returns an array of symbol names of public and protected methods # in `self`. # * #nil?: Returns `false`. (Only `nil` responds `true` to method `nil?`.) # * #object_id: Returns an integer corresponding to `self` that is unique for # the current process # * #private_methods: Returns an array of the symbol names of the private # methods in `self`. # * #protected_methods: Returns an array of the symbol names of the protected # methods in `self`. # * #public_method: Returns the Method object for the given public method in # `self`. # * #public_methods: Returns an array of the symbol names of the public # methods in `self`. # * #respond_to?: Returns whether `self` responds to the given method. # * #singleton_class: Returns the singleton class of `self`. # * #singleton_method: Returns the Method object for the given singleton # method in `self`. # * #singleton_methods: Returns an array of the symbol names of the singleton # methods in `self`. # # * #define_singleton_method: Defines a singleton method in `self` for the # given symbol method-name and block or proc. # * #extend: Includes the given modules in the singleton class of `self`. # * #public_send: Calls the given public method in `self` with the given # argument. # * #send: Calls the given method in `self` with the given argument. # # ### Instance Variables # # * #instance_variable_get: Returns the value of the given instance variable # in `self`, or `nil` if the instance variable is not set. # * #instance_variable_set: Sets the value of the given instance variable in # `self` to the given object. # * #instance_variables: Returns an array of the symbol names of the instance # variables in `self`. # * #remove_instance_variable: Removes the named instance variable from # `self`. # # ### Other # # * #clone: Returns a shallow copy of `self`, including singleton class and # frozen state. # * #define_singleton_method: Defines a singleton method in `self` for the # given symbol method-name and block or proc. # * #display: Prints `self` to the given IO stream or `$stdout`. # * #dup: Returns a shallow unfrozen copy of `self`. # * #enum_for (aliased as #to_enum): Returns an Enumerator for `self` using # the using the given method, arguments, and block. # * #extend: Includes the given modules in the singleton class of `self`. # * #freeze: Prevents further modifications to `self`. # * #hash: Returns the integer hash value for `self`. # * #inspect: Returns a human-readable string representation of `self`. # * #itself: Returns `self`. # * #method_missing: Method called when an undefined method is called on # `self`. # * #public_send: Calls the given public method in `self` with the given # argument. # * #send: Calls the given method in `self` with the given argument. # * #to_s: Returns a string representation of `self`. # class Object < BasicObject include Kernel end # A previous incarnation of `interned` for backward-compatibility (see #1499) %a{steep:deprecated} type Object::name = interned