我在Ruby中发现了一个特殊的全局变量。它是$$
,它始终是一个数字。但是这是什么意思?即使在文档中我找不到任何东西。
答案 0 :(得分:4)
它是表示当前流程的预设变量' ID。它已在http://ruby-doc.org/stdlib-2.3.1/libdoc/English/rdoc/English.html中记录。
Process.pid
是替代品,或者使用:
require 'English'
my_pid = $PROCESS_ID
一般来说,不鼓励使用短切全球,因为除非你知道它们是什么,否则它们会像魔法咒语或视觉噪音一样。
答案 1 :(得分:1)
这是pre-defined Ruby global variables之一。
所有全局变量都以$
为前缀,在这种情况下,$$
表示当前进程ID。这是从Perl继承的。
有些东西不容易搜索,而$$
就是其中之一,所以你无法轻易找到它是可以理解的。