Top Level Namespace
Relationships & Source Files | |
Namespace Children | |
Modules:
| |
Classes:
ARGF,
Array,
BasicObject,
Binding,
Class,
Complex,
ConditionVariable,
Continuation,
Data,
Dir,
ENV,
Encoding,
Enumerator,
FalseClass,
Fiber,
File,
Float,
Hash,
IO,
Integer,
MatchData,
Method,
Module,
Mutex,
NilClass,
Numeric,
Object,
Proc,
Queue,
Random,
Range,
Rational,
Regexp,
RubyVM,
SizedQueue,
String,
Struct,
Symbol,
Thread,
ThreadGroup,
Time,
TracePoint,
TrueClass,
UnboundMethod
| |
Exceptions:
ArgumentError,
ClosedQueueError,
EOFError,
EncodingError,
Exception,
FiberError,
FloatDomainError,
FrozenError,
IOError,
IndexError,
Interrupt,
KeyError,
LoadError,
LocalJumpError,
NameError,
NoMemoryError,
NoMethodError,
NotImplementedError,
RangeError,
RegexpError,
RuntimeError,
ScriptError,
SecurityError,
SignalException,
StandardError,
StopIteration,
SyntaxError,
SystemCallError,
SystemExit,
SystemStackError,
ThreadError,
TypeError,
UncaughtThrowError,
ZeroDivisionError,
fatal
|
Constant Summary
-
ARGV =
ARGV
contains the command line arguments used to run ruby.A library like OptionParser can be used to process command-line arguments.
rb_argv
-
DATA =
$ cat t.rb
puts DATA.gets __END__
DATA is a File that contains the data section of the executed file. To create a data section use <tt>__END__</tt>
-
FALSE =
An obsolete alias of
false
Qfalse
-
NIL =
An obsolete alias of
nil
Qnil
-
RUBY_COPYRIGHT =
The copyright string for ruby
MKSTR(copyright)
-
RUBY_DESCRIPTION =
The full ruby version string, like
ruby -v
prints'MKSTR(description)
-
RUBY_ENGINE =
The engine or interpreter this ruby uses.
ruby_engine_name = MKSTR(engine)
-
RUBY_ENGINE_VERSION =
The version of the engine or interpreter this ruby uses.
(1 ? version : MKSTR(version))
-
RUBY_PATCHLEVEL =
The patchlevel for this ruby. If this is a development build of ruby the patchlevel will be -1
MKINT(patchlevel)
-
RUBY_PLATFORM =
The platform for this ruby
MKSTR(platform)
-
RUBY_RELEASE_DATE =
The date this ruby was released
MKSTR(release_date)
-
RUBY_REVISION =
The SVN revision for this ruby.
MKINT(revision)
-
RUBY_VERSION =
The running version of ruby
(version = MKSTR(version))
-
STDERR =
Holds the original stderr
rb_stderr
-
STDIN =
Holds the original stdin
rb_stdin
-
STDOUT =
Holds the original stdout
rb_stdout
-
TOPLEVEL_BINDING =
The Binding of the top level scope
rb_binding_new()
-
TRUE =
An obsolete alias of
true
Qtrue
Class Attribute Summary
- $! readonly
-
Process.pid ⇒ Integer
readonly
Returns the process id of this process.
- $& readonly
- $' readonly
- $*(*var) readonly
- $+ readonly
- $, rw
-
$-0
rw
Alias for $/.
-
$-d
readonly
Alias for $DEBUG.
-
$-F
rw
Alias for $;.
- $-i(*var) rw
-
$-K
rw
Alias for $KCODE.
-
$-v
rw
Alias for $VERBOSE.
-
$-w
rw
Alias for $VERBOSE.
- $-W() readonly
- $.(*var) rw
- $/ (also: .$-0) rw
- $0 (also: .$PROGRAM_NAME) rw
- $; (also: .$-F) rw
- $< readonly
- $= rw
-
$>
rw
Alias for $stdout.
- $@ rw
- $\ (also: .$LOADED_FEATURES) readonly
- $\\ rw
- $_ rw
- $` readonly
- $DEBUG (also: .$-d) readonly
- $FILENAME(*var) readonly
- $find_time_numguess readonly
- $KCODE (also: .$-K) rw
-
$LOADED_FEATURES
readonly
Alias for $.
-
$PROGRAM_NAME
rw
Alias for $0.
- $SAFE rw
- $stderr rw
- $stdin readonly
- $stdout (also: .$>) rw
-
$VERBOSE
(also: .$-v, .$-w)
rw
! Defines built-in variables.
-
$VERBOSE=
(also: .$-v=, .$-w=)
rw
! Defines built-in variables.
- $~ rw
Class Method Summary
-
$? ⇒ Boolean
::Process::Status encapsulates the information on the status of a running or terminated system process.
Class Attribute Details
$! (readonly)
[ GitHub ]# File 'eval.c', line 1768
static VALUE errinfo_getter(ID id) { return get_errinfo(); }
Process.pid ⇒ Integer (readonly)
[ GitHub ]# File 'process.c', line 407
static VALUE get_pid(void) { return PIDT2NUM(getpid()); }
$& (readonly)
[ GitHub ]# File 're.c', line 1784
static VALUE last_match_getter(void) { return rb_reg_last_match(rb_backref_get()); }
$' (readonly)
[ GitHub ]# File 're.c', line 1796
static VALUE postmatch_getter(void) { return rb_reg_match_post(rb_backref_get()); }
$*(*var) (readonly)
[ GitHub ]# File 'io.c', line 12636
static VALUE argf_argv_getter(ID id, VALUE *var) { return argf_argv(*var); }
$+ (readonly)
[ GitHub ]# File 're.c', line 1802
static VALUE last_paren_match_getter(void) { return rb_reg_match_last(rb_backref_get()); }
$, (rw)
[ GitHub ]# File 'io.c', line 12981
rb_define_hooked_variable("$,", &rb_output_fs, 0, rb_str_setter);
$-0 (rw)
Alias for $/.
# File 'io.c', line 12988
rb_define_hooked_variable("$-0", &rb_rs, 0, rb_str_setter);
$-d (readonly)
Alias for $DEBUG.
# File 'ruby.c', line 2214
rb_define_variable("$-d", &ruby_debug);
$-F (rw)
Alias for $;.
# File 'string.c', line 11013
rb_define_hooked_variable("$-F", &rb_fs, 0, rb_fs_setter);
$-i(*var) (rw)
[ GitHub ]# File 'io.c', line 12554
static VALUE opt_i_get(ID id, VALUE *var) { return argf_inplace_mode_get(*var); }
$-K (rw)
Alias for $KCODE.
$-v (rw)
Alias for $VERBOSE.
# File 'ruby.c', line 2210
rb_define_hooked_variable("$-v", &ruby_verbose, 0, verbose_setter);
$-W() (readonly)
[ GitHub ]# File 'ruby.c', line 2189
static VALUE opt_W_getter(ID id, void *data) { VALUE *variable = data; switch (*variable) { case Qnil: return INT2FIX(0); case Qfalse: return INT2FIX(1); case Qtrue: return INT2FIX(2); default: return Qnil; } }
$-w (rw)
Alias for $VERBOSE.
# File 'ruby.c', line 2211
rb_define_hooked_variable("$-w", &ruby_verbose, 0, verbose_setter);
$.(*var) (rw)
[ GitHub ]# File 'io.c', line 8639
static VALUE argf_lineno_getter(ID id, VALUE *var) { VALUE argf = *var; return INT2FIX(ARGF.last_lineno); }
$/ (rw) Also known as: ::$-0
[ GitHub ]# File 'io.c', line 12987
rb_define_hooked_variable("$/", &rb_rs, 0, rb_str_setter);
$0 (rw) Also known as: ::$PROGRAM_NAME
[ GitHub ]# File 'ruby.c', line 2216
rb_define_hooked_variable("$0", &rb_progname, 0, set_arg0);
$; (rw) Also known as: ::$-F
[ GitHub ]# File 'string.c', line 11012
rb_define_hooked_variable("$;", &rb_fs, 0, rb_fs_setter);
$< (readonly)
[ GitHub ]# File 'io.c', line 13191
rb_define_readonly_variable("$<", &argf);
$= (rw)
[ GitHub ]# File 're.c', line 3875
static VALUE ignorecase_getter(void) { rb_warn("variable $= is no longer effective"); return Qfalse; }
$> (rw)
Alias for $stdout.
# File 'io.c', line 13103
rb_define_hooked_variable("$>", &rb_stdout, 0, stdout_setter);
$@ (rw)
[ GitHub ]# File 'eval.c', line 1803
static VALUE errat_getter(ID id) { VALUE err = get_errinfo(); if (!NIL_P(err)) { return rb_get_backtrace(err); } else { return Qnil; } }
$\ (readonly) Also known as: ::$LOADED_FEATURES
[ GitHub ]# File 'load.c', line 149
static VALUE get_loaded_features(void) { return GET_VM()->loaded_features; }
$\\ (rw)
[ GitHub ]# File 'io.c', line 12989
rb_define_hooked_variable("$\\", &rb_output_rs, 0, rb_str_setter);
$_ (rw)
[ GitHub ]$` (readonly)
[ GitHub ]# File 're.c', line 1790
static VALUE prematch_getter(void) { return rb_reg_match_pre(rb_backref_get()); }
$DEBUG (readonly) Also known as: ::$-d
[ GitHub ]# File 'ruby.c', line 2213
rb_define_variable("$DEBUG", &ruby_debug);
$FILENAME(*var) (readonly)
[ GitHub ]# File 'io.c', line 12387
static VALUE argf_filename_getter(ID id, VALUE *var) { return argf_filename(*var); }
$find_time_numguess (readonly)
[ GitHub ]# File 'time.c', line 2704
static VALUE find_time_numguess_getter(void) { return ULL2NUM(find_time_numguess); }
$KCODE (rw) Also known as: ::$-K
[ GitHub ]# File 're.c', line 3862
static VALUE kcode_getter(void) { rb_warn("variable $KCODE is no longer effective"); return Qnil; }
$LOADED_FEATURES (readonly)
Alias for $.
$PROGRAM_NAME (rw)
Alias for $0.
# File 'ruby.c', line 2217
rb_define_hooked_variable("$PROGRAM_NAME", &rb_progname, 0, set_arg0);
$SAFE (rw)
[ GitHub ]# File 'safe.c', line 62
static VALUE safe_getter(void) { return INT2NUM(rb_safe_level()); }
$stderr (rw)
[ GitHub ]# File 'io.c', line 13101
rb_define_hooked_variable("$stderr", &rb_stderr, 0, stdout_setter);
$stdin (readonly)
[ GitHub ]# File 'io.c', line 13097
rb_define_variable("$stdin", &rb_stdin);
$stdout (rw) Also known as: ::$>
[ GitHub ]# File 'io.c', line 13099
rb_define_hooked_variable("$stdout", &rb_stdout, 0, stdout_setter);
$VERBOSE (rw) Also known as: ::$-v, ::$-w
! Defines built-in variables
# File 'ruby.c', line 2209
rb_define_hooked_variable("$VERBOSE", &ruby_verbose, 0, verbose_setter);
$VERBOSE= (rw) Also known as: ::$-v=, ::$-w=
! Defines built-in variables
# File 'ruby.c', line 2182
static void verbose_setter(VALUE val, ID id, void *data) { VALUE *variable = data; *variable = RTEST(val) ? Qtrue : val; }
$~ (rw)
[ GitHub ]# File 're.c', line 3888
static VALUE match_getter(void) { VALUE match = rb_backref_get(); if (NIL_P(match)) return Qnil; rb_match_busy(match); return match; }
Class Method Details
$? ⇒ Boolean
::Process::Status encapsulates the information on the status of a running or terminated system process. The built-in variable $?
is either nil
or a ::Process::Status object.
fork { exit 99 } #=> 26557
Process.wait #=> 26557
$?.class #=> Process::Status
$?.to_i #=> 25344
$? >> 8 #=> 99
$?.stopped? #=> false
$?.exited? #=> true
$?.exitstatus #=> 99
Posix systems record information on processes using a 16-bit integer. The lower bits record the process status (stopped, exited, signaled) and the upper bits possibly contain additional information (for example the program's return code in the case of exited processes). Pre Ruby 1.8, these bits were exposed directly to the Ruby program. Ruby now encapsulates these in a ::Process::Status object. To maximize compatibility, however, these objects retain a bit-oriented interface. In the descriptions that follow, when we talk about the integer value of stat, we're referring to this 16 bit value.
# File 'process.c', line 469
VALUE rb_last_status_get(void) { return GET_THREAD()->last_status; }