YOU
YOU

Reputation: 123851

What is the meaning of $$ in Ruby?

irb(main):002:0> $$
=> 5052

What is the meaning of $$ in Ruby and How/Where to use it?

Upvotes: 19

Views: 3185

Answers (5)

This seems like a good reference for stuff like this...has a lot of symboly goodness.

Upvotes: 7

C. K. Young
C. K. Young

Reputation: 223083

$$ is the process ID. It's named that way to follow Perl, which in turn followed the Bourne shell; both of them also use $$ in the same way.

Upvotes: 27

rtacconi
rtacconi

Reputation: 14769

pipe = IO.popen("")
if pipe
  STDERR.puts "In parent, child pid is #{pipe.pid}"
else
  STDERR.puts "In child, pid is #{$$}"
end

This example shows how the process ID can be used. Process ID is part of 'Execution Environment Variables' (part of predifined variables).

Upvotes: 2

JRL
JRL

Reputation: 78003

It's the process ID of the current Ruby process. Read-only

Upvotes: 1

unwind
unwind

Reputation: 399891

It's the process ID of the Ruby interpreter. $ is a prefix for global variables, see here for a list.

Upvotes: 6

Related Questions