-
-
Save jooeycheng/5701457728f8162ad2fa8ca8323430e5 to your computer and use it in GitHub Desktop.
ruby dollar sign $ global variable
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$: (Dollar Colon) is basically a shorthand version of $LOAD_PATH. | |
contains an array of paths that your script will search through when using require. | |
$0 (Dollar Zero) contains the name of the ruby program being run. This is typically the script name. | |
$* (Dollar Splat) is basically shorthand for ARGV. $* contains the command line arguments that were passed to the script. | |
$? (Dollar Question Mark) returns the exit status of the last child process to finish. | |
$$ (Dollar Dollar) returns the process number of the program currently being ran. | |
$~ (Dollar Tilde) contains the MatchData from the previous successful pattern match. | |
$1, $2, $3, $4 etc represent the content of the previous successful pattern match. | |
$& (Dollar Ampersand) contains the matched string from the previous successful pattern match. | |
$+ (Dollar Plus) contains the last match from the previous successful pattern match. | |
$` (Dollar Backtick) contains the string before the actual matched string of the previous successful pattern match. | |
$’ (Dollar Apostrophe) contains the string after the actual matched string of the previous successful pattern match. | |
$! (Dollar Bang) contains the Exception that was passed to raise. | |
$@ (Dollar At Symbol) contains the backtrace for the last Exception raised. | |
Alternate Explaination (from diff site) | |
$! latest error message | |
$@ location of error | |
$_ string last read by gets | |
$. line number last read by interpreter | |
$& string last matched by regexp | |
$~ the last regexp match, as an array of subexpressions | |
$n the nth subexpression in the last match (same as $~[n]) | |
$= case-insensitivity flag | |
$/ input record separator | |
$\ output record separator | |
$0 the name of the ruby script file | |
$* the command line arguments | |
$$ interpreter's process ID | |
$? exit status of last executed child process |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
$!
and$@
don't seem to work anymore in Ruby v3.0.5. Is this a bug? Anyone know a new way to access last exception?