質問

これbugging私は大学で開かれました。

>> nil.id
(irb):2: warning: Object#id will be deprecated; use Object#object_id
=> 4

なぜ無料。id4?(または無料。object_idされたい方客deprecations)

役に立ちましたか?

解決

これはnilはオブジェクト作成時の言語を初期化し、そのオブジェクトのidが必ず4.

情報のidが4を参照 この とができます。

他のヒント

私はいつもそれがクールなイースターエッグだったと仮定したい:日本4で死の数です。

すべてのオブジェクトのidは何とかC Rubyインタプリタで表現されなければならなかったので、

それは起こります。番号は(数* 2)+1にマッピングされてしまった、truthinessが0になった、真偽は2を持って、nilは4左を持っていました。 It'sちょうど奇妙な実装の問題や漏れやすい抽象化。あなたはRubyインタプリタを書きたいしない限り、あなたはそれを心配してはいけません。

あなたは4を取得しているIRBでこれをしようとしている場合は、

irb
>> NIL.id
(irb):7: warning: Object#id will be deprecated; use Object#object_id
=> 4

ルビーではnil方法で設定され、日本の人々は、それは彼らが

「危険な」OR「死」を4に設定することを言語標準だ4を返し、それを呼び出します
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top