Search code examples
rubyminimagick

What does the token "$$" mean in Ruby?


I see this variable in image_temp_file.rb in makeTempname() in the mini_magick library.


Solution

  • The $ begins a reference to a global variable. Programs will typically define something like $name and the system predefines a number of information and control references.

    $$, in particular, is the process ID.

     
        $name program-defined global variable
        $!  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