2011-05-26 68 views

回答

3

您可以使用$0确定文件的名称。您甚至可以使用它设置进程名称,如$0 = 'foo'Dave Thomas's blog post。如果你想获得命令行参数,你想看看ARGV

+2

顺便说一下,'$ 0'变量被别名'$ PROGRAM_NAME' – 2011-05-26 17:44:35

+0

不错。这很难混淆名称。 – BaroqueBobcat 2011-05-26 20:30:36

-4

如果您正在使用的Unix系统,您可以执行从Ruby脚本来确定这样的过程:

`ps aux | grep ruby` 

,然后使用$?获取流程

+0

这将显示系统上的每个* ruby​​进程,而不仅仅是有问题的脚本。 – rlpowell 2015-02-26 01:05:32

2

$0包含正在执行的脚本的名称。 (可能是可分配的,所以它可能会出错)

+0

为了这个目的,ruby-prof的'--replace-progname'开关操纵$ 0,所以脚本中运行的'$ 0 == __FILE__'魔术咒语仍然有效。 – 2011-05-26 22:48:24

相关问题