📁 File Manager Pro
v10.0.3 | PHP: 8.1.34
Server: Apache
2026-06-22 14:00:01
📂
/ (Root)
/
opt
/
alt
/
ruby33
/
share
/
doc
/
alt-ruby33-doc
📍 /opt/alt/ruby33/share/doc/alt-ruby33-doc
🔄 Refresh
✏️
Editing: globals.rdoc
Read Only
= Pre-Defined Global Variables Some of the pre-defined global variables have synonyms that are available via module Engish. For each of those, the \English synonym is given. To use the module: require 'English' == Exceptions === <tt>$!</tt> (\Exception) Contains the Exception object set by Kernel#raise: begin raise RuntimeError.new('Boo!') rescue RuntimeError p $! end Output: #<RuntimeError: Boo!> English - <tt>$ERROR_INFO</tt> === <tt>$@</tt> (Backtrace) Same as <tt>$!.backtrace</tt>; returns an array of backtrace positions: begin raise RuntimeError.new('Boo!') rescue RuntimeError pp $@.take(4) end Output: ["(irb):338:in `<top (required)>'", "/snap/ruby/317/lib/ruby/3.2.0/irb/workspace.rb:119:in `eval'", "/snap/ruby/317/lib/ruby/3.2.0/irb/workspace.rb:119:in `evaluate'", "/snap/ruby/317/lib/ruby/3.2.0/irb/context.rb:502:in `evaluate'"] English - <tt>$ERROR_POSITION</tt>. == Pattern Matching These global variables store information about the most recent successful match in the current scope. For details and examples, see {Regexp Global Variables}[rdoc-ref:Regexp@Global+Variables]. === <tt>$~</tt> (\MatchData) MatchData object created from the match; thread-local and frame-local. English - <tt>$LAST_MATCH_INFO</tt>. === <tt>$&</tt> (Matched Substring) The matched string. English - <tt>$MATCH</tt>. === <tt>$`</tt> (Pre-Match Substring) The string to the left of the match. English - <tt>$PREMATCH</tt>. === <tt>$'</tt> (Post-Match Substring) The string to the right of the match. English - <tt>$POSTMATCH</tt>. === <tt>$+</tt> (Last Matched Group) The last group matched. English - <tt>$LAST_PAREN_MATCH</tt>. === <tt>$1</tt>, <tt>$2</tt>, \Etc. (Matched Group) For <tt>$_n_</tt> the _nth_ group of the match. No \English. == Separators === <tt>$/</tt> (Input Record Separator) An input record separator, initially newline. English - <tt>$INPUT_RECORD_SEPARATOR</tt>, <tt>$RS</tt>. Aliased as <tt>$-0</tt>. === <tt>$;</tt> (Input Field Separator) An input field separator, initially +nil+. English - <tt>$FIELD_SEPARATOR</tt>, <tt>$FS</tt>. Aliased as <tt>$-F</tt>. === <tt>$\\</tt> (Output Record Separator) An output record separator, initially +nil+. English - <tt>$OUTPUT_RECORD_SEPARATOR</tt>, <tt>$ORS</tt>. == Streams === <tt>$stdin</tt> (Standard Input) The current standard input stream; initially: $stdin # => #<IO:<STDIN>> === <tt>$stdout</tt> (Standard Output) The current standard output stream; initially: $stdout # => #<IO:<STDOUT>> === <tt>$stderr</tt> (Standard Error) The current standard error stream; initially: $stderr # => #<IO:<STDERR>> === <tt>$<</tt> (\ARGF or $stdin) Points to stream ARGF if not empty, else to stream $stdin; read-only. English - <tt>$DEFAULT_INPUT</tt>. === <tt>$></tt> (Default Standard Output) An output stream, initially <tt>$stdout</tt>. English - <tt>$DEFAULT_OUTPUT === <tt>$.</tt> (Input Position) The input position (line number) in the most recently read stream. English - <tt>$INPUT_LINE_NUMBER</tt>, <tt>$NR</tt> === <tt>$_</tt> (Last Read Line) The line (string) from the most recently read stream. English - <tt>$LAST_READ_LINE</tt>. == Processes === <tt>$0</tt> Initially, contains the name of the script being executed; may be reassigned. === <tt>$*</tt> (\ARGV) Points to ARGV. English - <tt>$ARGV</tt>. === <tt>$$</tt> (Process ID) The process ID of the current process. Same as Process.pid. English - <tt>$PROCESS_ID</tt>, <tt>$PID</tt>. === <tt>$?</tt> (Child Status) Initially +nil+, otherwise the Process::Status object created for the most-recently exited child process; thread-local. English - <tt>$CHILD_STATUS</tt>. === <tt>$LOAD_PATH</tt> (Load Path) Contains the array of paths to be searched by Kernel#load and Kernel#require. Singleton method <tt>$LOAD_PATH.resolve_feature_path(feature)</tt> returns: - <tt>[:rb, _path_]</tt>, where +path+ is the path to the Ruby file to be loaded for the given +feature+. - <tt>[:so+ _path_]</tt>, where +path+ is the path to the shared object file to be loaded for the given +feature+. - +nil+ if there is no such +feature+ and +path+. Examples: $LOAD_PATH.resolve_feature_path('timeout') # => [:rb, "/snap/ruby/317/lib/ruby/3.2.0/timeout.rb"] $LOAD_PATH.resolve_feature_path('date_core') # => [:so, "/snap/ruby/317/lib/ruby/3.2.0/x86_64-linux/date_core.so"] $LOAD_PATH.resolve_feature_path('foo') # => nil Aliased as <tt>$:</tt> and <tt>$-I</tt>. === <tt>$LOADED_FEATURES</tt> Contains an array of the paths to the loaded files: $LOADED_FEATURES.take(10) # => ["enumerator.so", "thread.rb", "fiber.so", "rational.so", "complex.so", "ruby2_keywords.rb", "/snap/ruby/317/lib/ruby/3.2.0/x86_64-linux/enc/encdb.so", "/snap/ruby/317/lib/ruby/3.2.0/x86_64-linux/enc/trans/transdb.so", "/snap/ruby/317/lib/ruby/3.2.0/x86_64-linux/rbconfig.rb", "/snap/ruby/317/lib/ruby/3.2.0/rubygems/compatibility.rb"] Aliased as <tt>$"</tt>. == Debugging === <tt>$FILENAME</tt> The value returned by method ARGF.filename. === <tt>$DEBUG</tt> Initially +true+ if command-line option <tt>-d</tt> or <tt>--debug</tt> is given, otherwise initially +false+; may be set to either value in the running program. When +true+, prints each raised exception to <tt>$stderr</tt>. Aliased as <tt>$-d</tt>. === <tt>$VERBOSE</tt> Initially +true+ if command-line option <tt>-v</tt> or <tt>-w</tt> is given, otherwise initially +false+; may be set to either value, or to +nil+, in the running program. When +true+, enables Ruby warnings. When +nil+, disables warnings, including those from Kernel#warn. Aliased as <tt>$-v</tt> and <tt>$-w</tt>. == Other Variables === <tt>$-a</tt> Whether command-line option <tt>-a</tt> was given; read-only. === <tt>$-i</tt> Contains the extension given with command-line option <tt>-i</tt>, or +nil+ if none. An alias of ARGF.inplace_mode. === <tt>$-l</tt> Whether command-line option <tt>-l</tt> was set; read-only. === <tt>$-p</tt> Whether command-line option <tt>-p</tt> was given; read-only. == Deprecated === <tt>$=</tt> === <tt>$,</tt> = Pre-Defined Global Constants = Streams === <tt>STDIN</tt> The standard input stream (the default value for <tt>$stdin</tt>): STDIN # => #<IO:<STDIN>> === <tt>STDOUT</tt> The standard output stream (the default value for <tt>$stdout</tt>): STDOUT # => #<IO:<STDOUT>> === <tt>STDERR</tt> The standard error stream (the default value for <tt>$stderr</tt>): STDERR # => #<IO:<STDERR>> == Environment === ENV A hash of the contains current environment variables names and values: ENV.take(5) # => [["COLORTERM", "truecolor"], ["DBUS_SESSION_BUS_ADDRESS", "unix:path=/run/user/1000/bus"], ["DESKTOP_SESSION", "ubuntu"], ["DISPLAY", ":0"], ["GDMSESSION", "ubuntu"]] === ARGF The virtual concatenation of the files given on the command line, or from <tt>$stdin</tt> if no files were given, <tt>"-"</tt> is given, or after all files have been read. === <tt>ARGV</tt> An array of the given command-line arguments. === <tt>TOPLEVEL_BINDING</tt> The Binding of the top level scope: TOPLEVEL_BINDING # => #<Binding:0x00007f58da0da7c0> === <tt>RUBY_VERSION</tt> The Ruby version: RUBY_VERSION # => "3.2.2" === <tt>RUBY_RELEASE_DATE</tt> The release date string: RUBY_RELEASE_DATE # => "2023-03-30" === <tt>RUBY_PLATFORM</tt> The platform identifier: RUBY_PLATFORM # => "x86_64-linux" === <tt>RUBY_PATCHLEVEL</tt> The integer patch level for this Ruby: RUBY_PATCHLEVEL # => 53 For a development build the patch level will be -1. === <tt>RUBY_REVISION</tt> The git commit hash for this Ruby: RUBY_REVISION # => "e51014f9c05aa65cbf203442d37fef7c12390015" === <tt>RUBY_COPYRIGHT</tt> The copyright string: RUBY_COPYRIGHT # => "ruby - Copyright (C) 1993-2023 Yukihiro Matsumoto" === <tt>RUBY_ENGINE</tt> The name of the Ruby implementation: RUBY_ENGINE # => "ruby" === <tt>RUBY_ENGINE_VERSION</tt> The version of the Ruby implementation: RUBY_ENGINE_VERSION # => "3.2.2" === <tt>RUBY_DESCRIPTION</tt> The description of the Ruby implementation: RUBY_DESCRIPTION # => "ruby 3.2.2 (2023-03-30 revision e51014f9c0) [x86_64-linux]" == Embedded \Data === <tt>DATA</tt> Defined if and only if the program has this line: __END__ When defined, <tt>DATA</tt> is a File object containing the lines following the <tt>__END__</tt>, positioned at the first of those lines: p DATA DATA.each_line { |line| p line } __END__ Foo Bar Baz Output: #<File:t.rb> "Foo\n" "Bar\n" "Baz\n"
💾 Save Changes
❌ Cancel