== Keywords
The following keywords are used by Ruby.
__ENCODING__::
The script encoding of the current file. See Encoding.
__LINE__::
The line number of this keyword in the current file.
__FILE__::
The path to the current file.
BEGIN::
Runs before any other code in the current file. See {miscellaneous
syntax}[rdoc-ref:syntax/miscellaneous.rdoc]
END::
Runs after any other code in the current file. See {miscellaneous
syntax}[rdoc-ref:syntax/miscellaneous.rdoc]
alias::
Creates an alias between two methods (and other things). See {modules and
classes syntax}[rdoc-ref:syntax/modules_and_classes.rdoc]
and::
Short-circuit Boolean and with lower precedence than &&
begin::
Starts an exception handling block. See {exceptions
syntax}[rdoc-ref:syntax/exceptions.rdoc]
break::
Leaves a block early. See {control expressions
syntax}[rdoc-ref:syntax/control_expressions.rdoc]
case::
Starts a +case+ expression. See {control expressions
syntax}[rdoc-ref:syntax/control_expressions.rdoc]
class::
Creates or opens a class. See {modules and classes
syntax}[rdoc-ref:syntax/modules_and_classes.rdoc]
def::
Defines a method. See {methods syntax}[rdoc-ref:syntax/methods.rdoc]
defined?::
Returns a string describing its argument. See {miscellaneous
syntax}[rdoc-ref:syntax/miscellaneous.rdoc]
do::
Starts a block.
else::
The unhandled condition in +case+, +if+ and +unless+ expressions. See
{control expressions}[rdoc-ref:syntax/control_expressions.rdoc]
elsif::
An alternate condition for an +if+ expression. See {control
expressions}[rdoc-ref:syntax/control_expressions.rdoc]
end::
The end of a syntax block. Used by classes, modules, methods, exception
handling and control expressions.
ensure::
Starts a section of code that is always run when an exception is raised.
See {exception handling}[rdoc-ref:syntax/exceptions.rdoc]
false::
Boolean false. See {literals}[rdoc-ref:syntax/literals.rdoc]
for::
A loop that is similar to using the +each+ method. See {control
expressions}[rdoc-ref:syntax/control_expressions.rdoc]
if::
Used for +if+ and modifier +if+ expressions. See {control
expressions}[rdoc-ref:syntax/control_expressions.rdoc]
in::
Used to separate the iterable object and iterator variable in a +for+ loop.
See {control expressions}[rdoc-ref:syntax/control_expressions.rdoc]
module::
Creates or opens a module. See {modules and classes
syntax}[rdoc-ref:syntax/modules_and_classes.rdoc]
next::
Skips the rest of the block. See {control
expressions}[rdoc-ref:syntax/control_expressions.rdoc]
nil::
A false value usually indicating "no value" or "unknown". See
{literals}[rdoc-ref:syntax/literals.rdoc]
not::
Inverts the following boolean expression. Has a lower precedence than
!
or::
Boolean or with lower precedence than ||
redo::
Restarts execution in the current block. See {control
expressions}[rdoc-ref:syntax/control_expressions.rdoc]
rescue::
Starts an exception section of code in a +begin+ block. See {exception
handling}[rdoc-ref:syntax/exceptions.rdoc]
retry::
Retries an exception block. See {exception
handling}[rdoc-ref:syntax/exceptions.rdoc]
return::
Exits a method. See {methods}[rdoc-ref:syntax/methods.rdoc]
self::
The object the current method is attached to. See
{methods}[rdoc-ref:syntax/methods.rdoc]
super::
Calls the current method in a superclass. See
{methods}[rdoc-ref:syntax/methods.rdoc]
then::
Indicates the end of conditional blocks in control structures. See
{control expressions}[rdoc-ref:syntax/control_expressions.rdoc]
true::
Boolean true. See {literals}[rdoc-ref:syntax/literals.rdoc]
undef::
Prevents a class or module from responding to a method call.
See {modules and classes}[rdoc-ref:syntax/modules_and_classes.rdoc]
unless::
Used for +unless+ and modifier +unless+ expressions. See {control
expressions}[rdoc-ref:syntax/control_expressions.rdoc]
until::
Creates a loop that executes until the condition is true. See
{control expressions}[rdoc-ref:syntax/control_expressions.rdoc]
when::
A condition in a +case+ expression. See
{control expressions}[rdoc-ref:syntax/control_expressions.rdoc]
while::
Creates a loop that executes while the condition is true. See
{control expressions}[rdoc-ref:syntax/control_expressions.rdoc]
yield::
Starts execution of the block sent to the current method. See
{methods}[rdoc-ref:syntax/methods.rdoc]