Skip to content

Instantly share code, notes, and snippets.

@amingilani
Created June 17, 2019 03:42
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save amingilani/86e43e22dcdac1059747ca4ae546288d to your computer and use it in GitHub Desktop.
Save amingilani/86e43e22dcdac1059747ca4ae546288d to your computer and use it in GitHub Desktop.
A list of constants and variables predefined in Ruby.
$! --- The exception information message set by 'raise'.
$@ --- Array of backtrace of the last exception thrown.
$& --- The string matched by the last successful match.
$` --- The string to the left of the last successful match.
$' --- The string to the right of the last successful match.
$+ --- The highest group matched by the last successful match.
$1 --- The Nth group of the last successful match. May be > 1.
$~ --- The information about the last match in the current scope.
$= --- The flag for case insensitive, nil by default.
$/ --- The input record separator, newline by default.
$\ --- The output record separator for the print and IO#write. Default is nil.
$, --- The output field separator for the print and Array#join.
$; --- The default separator for String#split.
$. --- The current input line number of the last file that was read.
$< --- The virtual concatenation file of the files given on command line (or from $stdin if no files were given).
$> --- The default output for print, printf. $stdout by default.
$_ --- The last input line of string by gets or readline.
$0 --- Contains the name of the script being executed. May be assignable.
$* --- Command line arguments given for the script sans args.
$$ --- The process number of the Ruby running this script.
$? --- The status of the last executed child process. This value is thread-local.
$: --- Load path for scripts and binary modules by load or require.
$“ --- The array contains the module names loaded by require.
$DEBUG --- The debug flag, which is set by the -d switch. Enabling debug output prints each exception raised to $stderr (but not its backtrace). Setting this to a true value enables debug output as if -d were given on the command line. Setting this to a false value disables debug output.
$FILENAME --- Current input file from $<. Same as $<.filename.
$LOAD_PATH --- The alias to the $:. Load path for scripts and binary modules by load or require.
$stderr --- The current standard error output.
$stdin --- The current standard input.
$stdout --- The current standard output.
$VERBOSE --- The verbose flag, which is set by the -w or -v switch. Setting this to a true value enables warnings as if -w or -v were given on the command line. Setting this to nil disables warnings, including from Kernel#warn.
$-0 --- The alias to $/. The input record separator, newline by default.
$-a --- True if option -a is set. Read-only variable.
$-d --- The alias of $DEBUG. The debug flag, which is set by the -d switch. Enabling debug output prints each exception raised to $stderr (but not its backtrace). Setting this to a true value enables debug output as if -d were given on the command line. Setting this to a false value disables debug output.
$-F --- The alias to $;. The default separator for String#split.
$-i --- In in-place-edit mode, this variable holds the extension, otherwise nil.
$-I --- The alias to $:. Load path for scripts and binary modules by load or require.
$-l --- True if option -l is set. Read-only variable.
$-p --- True if option -p is set. Read-only variable.
$-v --- An alias of $VERBOSE. The verbose flag, which is set by the -w or -v switch. Setting this to a true value enables warnings as if -w or -v were given on the command line. Setting this to nil disables warnings, including from Kernel#warn.
$-w --- An alias of $VERBOSE. The verbose flag, which is set by the -w or -v switch. Setting this to a true value enables warnings as if -w or -v were given on the command line. Setting this to nil disables warnings, including from Kernel#warn.
TRUE --- The typical true value.
FALSE --- The false itself.
NIL --- The nil itself.
STDIN --- The standard input. The default value for $stdin.
STDOUT --- The standard output. The default value for $stdout.
STDERR --- The standard error output. The default value for $stderr.
ENV --- The hash contains current environment variables.
ARGF --- The alias to the $<. The virtual concatenation file of the files given on command line (or from $stdin if no files were given).
ARGV --- The alias to the $*. Command line arguments given for the script sans args.
DATA --- The file object of the script, pointing just after __END__.
RUBY_VERSION --- The ruby version string (VERSION was deprecated).
RUBY_RELEASE_DATE --- The release date string.
RUBY_PLATFORM --- The platform identifier.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment