2011-05-26 21 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

相關問題