質問
これ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を返し、それを呼び出します所属していません StackOverflow