2016-10-11 6 views
3

私はRubyで特別なグローバル変数を発見しました。それは$$であり、常に数字です。しかし、それはどういう意味ですか?ドキュメントでも私は何も見つけることができません。Rubyグローバル変数ダブルドル記号

+0

これは、現在のプロセスのIDを表すプリセット変数です。 –

答えて

4

現在のプロセスのIDを表すプリセット変数です。それはhttp://ruby-doc.org/stdlib-2.3.1/libdoc/English/rdoc/English.htmlに記載されています。一般的に

require 'English' 
my_pid = $PROCESS_ID 

、あなたは彼らが何であるか知っている限り、彼らは魔法の呪文や視覚的なノイズのようにしているので、短いカットのグローバルが使用から落胆されています

Process.pid

は、代替、または使用することです。

1

これはpre-defined Ruby global variablesのいずれかです。

すべてのグローバルには接頭辞$が付きます。この場合、$$は現在のプロセスIDを表します。これはPerlから継承されました。

いくつかのものは検索するのが簡単ではないし、$$がその1つなので、簡単に見つけられなかったのは理解できる。

+0

良いオールド 'パーセル、簡潔な表現と視覚的なノイズの土地。 :-) –

+1

@theTinManコードがラインノイズのように見える日から私たちはそれが好きでした。 – tadman

+0

'$$'は真の変数ではありません。少なくとも値を割り当てることはできません。 – Aetherus