Skip to content
On this page

End of Life Ruby 3.1 has reached end of life and gets no more fixes. Switch to Ruby 4.0 →

module · Ruby 3.1

Kernel

83 instance methods 2 class methods

RubyGems adds the gem method to allow activation of specific gem versions and overrides the require method on Kernel to make gems appear as if they live on the $LOAD_PATH. See the documentation of these methods for further detail.

The Kernel module is included by class Object, so its methods are available in every Ruby object.

The Kernel instance methods are documented in class Object while the module methods are documented here. These methods are called without a receiver and thus can be called in functional form:

Example
sprintf "%.1f", 1.234 #=> "1.2"

What’s Here

Module Kernel provides methods that are useful for:

Converting

Querying

  • #__callee__

    Returns the called name of the current method as a symbol.

  • #__dir__

    Returns the path to the directory from which the current method is called.

  • #__method__

    Returns the name of the current method as a symbol.

  • autoload?

    Returns the file to be loaded when the given module is referenced.

  • binding

    Returns a Binding for the context at the point of call.

  • block_given?

    Returns true if a block was passed to the calling method.

  • caller

    Returns the current execution stack as an array of strings.

  • caller_locations

    Returns the current execution stack as an array of Thread::Backtrace::Location objects.

  • class

    Returns the class of self.

  • frozen?

    Returns whether self is frozen.

  • global_variables

    Returns an array of global variables as symbols.

  • local_variables

    Returns an array of local variables as symbols.

  • test

    Performs specified tests on the given single file or pair of files.

Exiting

  • abort

    Exits the current process after printing the given arguments.

  • at_exit

    Executes the given block when the process exits.

  • exit

    Exits the current process after calling any registered at_exit handlers.

  • exit!

    Exits the current process without calling any registered at_exit handlers.

Exceptions

  • catch

    Executes the given block, possibly catching a thrown object.

  • raise (aliased as fail)

    Raises an exception based on the given arguments.

  • throw

    Returns from the active catch block waiting for the given tag.

IO

  • gets

    Returns and assigns to $_ the next line from the current input.

  • open

    Creates an IO object connected to the given stream, file, or subprocess.

  • p

    Prints the given objects’ inspect output to the standard output.

  • pp

    Prints the given objects in pretty form.

  • print

    Prints the given objects to standard output without a newline.

  • printf

    Prints the string resulting from applying the given format string to any additional arguments.

  • putc

    Equivalent to <tt.$stdout.putc(object)</tt> for the given object.

  • puts

    Equivalent to $stdout.puts(*objects) for the given objects.

  • readline

    Similar to gets, but raises an exception at the end of file.

  • readlines

    Returns an array of the remaining lines from the current input.

  • select

    Same as IO.select.

Procs

Tracing

  • set_trace_func

    Sets the given proc as the handler for tracing, or disables tracing if given nil.

  • trace_var

    Starts tracing assignments to the given global variable.

  • untrace_var

    Disables tracing of assignments to the given global variable.

Subprocesses

  • #cmd

    Returns the standard output of running cmd in a subshell.

  • exec

    Replaces current process with a new process.

  • fork

    Forks the current process into two processes.

  • spawn

    Executes the given command and returns its pid without waiting for completion.

  • system

    Executes the given command in a subshell.

Loading

  • autoload

    Registers the given file to be loaded when the given constant is first referenced.

  • load

    Loads the given Ruby file.

  • require

    Loads the given Ruby file unless it has already been loaded.

  • require_relative

    Loads the Ruby file path relative to the calling file, unless it has already been loaded.

Yielding

  • tap

    Yields self to the given block; returns self.

  • then (aliased as yield_self)

    Yields self to the block and returns the result of the block.

Random Values

  • rand

    Returns a pseudo-random floating point number strictly between 0.0 and 1.0.

  • srand

    Seeds the pseudo-random number generator with the given number.

Other

  • eval

    Evaluates the given string as Ruby code.

  • loop

    Repeatedly executes the given block.

  • sleep

    Suspends the current thread for the given number of seconds.

  • sprintf (aliased as format)

    Returns the string resulting from applying the given format string to any additional arguments.

  • syscall

    Runs an operating system call.

  • trap

    Specifies the handling of system signals.

  • warn

    Issue a warning based on the given messages and options.

Class methods 2

Instance methods 83

Constants
No documentation available

Ruby version changes 7

  1. 3.1
    • Kernel#load now accepts a module as the second argument, and will load the file using the given module as the top-level module. [Feature #6210]

  2. 3.0