== 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+ statements.  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].
  If met in top-level scope, immediately stops interpretation of
  the current file.
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+ statements.  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]