4

我在 mini_magick 库的 makeTempname() 中的 image_temp_file.rb 中看到了这个变量。

4

3 回答 3

5

$开始对全局变量的引用。程序通常会定义诸如$name之类的东西,并且系统预定义了许多信息和控制引用。

特别是$$是进程 ID。

 
    $name 程序定义的全局变量
    美元!最新的错误信息
    $@ 错误位置
    $_ 字符串最后被读取
    美元。解释器最后读取的行号
    $& 字符串最后由正则表达式匹配
    $~ 最后一个正则表达式匹配,作为一个子表达式数组
    $n 最后一个匹配中的第 n 个子表达式(与 $~[n] 相同)
    $= 不区分大小写标志
    $/ 输入记录分隔符
    $\ 输出记录分隔符
    $0 ruby​​ 脚本文件的名称
    $* 命令行参数
    $$ 解释器的进程 ID
    美元?最后执行的子进程的退出状态
于 2011-07-09T15:16:41.303 回答
4

它是运行您所在脚本的 Ruby 解释器的进程 ID。例如:

[/tmp] Ψ irb
ruby> $$
 => 16045                          # We're in process id 16045.
ruby> ^Z
[1]+  Stopped irb                  # Let's stop irb so we can
                                   # verify that it's the right pid.

[/tmp] Ψ ps aux | grep -inr 16045  # grep across all processes.
80:johnf    16045  ... irb         # There it is!
于 2011-07-09T14:19:01.570 回答
0

$$ 评估为正在运行的程序的进程 ID。

于 2011-07-09T14:17:10.463 回答