【发布时间】:2011-01-11 17:32:29
【问题描述】:
irb(main):002:0> $$
=> 5052
$$ 在 Ruby 中是什么意思以及如何/在哪里使用它?
【问题讨论】:
标签: ruby
irb(main):002:0> $$
=> 5052
$$ 在 Ruby 中是什么意思以及如何/在哪里使用它?
【问题讨论】:
标签: ruby
This 似乎是此类事物的一个很好的参考……具有很多象征意义。
【讨论】:
$$ 是process ID。它以这种方式命名以遵循 Perl,而后者又遵循 Bourne shell;他们俩也以相同的方式使用$$。
【讨论】:
English 同义词写下您自己的答案,并可能从评论中链接到它。 :-)
English。我不喜欢的部分原因是:1. 它只存在于stdlib 而不是core,很少提及或使用,以及 2.English 在 Perl 中的副作用(它具体化了$`、$& , 和&', with performance implications) 已经完全让我失望了。 (诚然,Ruby 不是 Perl,但旧习惯很难改掉。)
pipe = IO.popen("")
if pipe
STDERR.puts "In parent, child pid is #{pipe.pid}"
else
STDERR.puts "In child, pid is #{$$}"
end
此示例显示如何使用进程 ID。进程 ID 是“执行环境变量”的一部分(预定义变量的一部分)。
【讨论】:
它是当前 Ruby 进程的进程 ID。只读
【讨论】:
这是 Ruby 解释器的进程 ID。 $ 是全局变量的前缀,列表见here。
【讨论】: