Pythonの「is」に相当するRubyはありますか? 2 つのオブジェクトが同一であるかどうか (つまり、同じメモリ位置を持っているかどうか) をテストします。
2 に答える
13
使用するa.equal? b
http://www.ruby-doc.org/core/classes/Object.html
== とは異なり、イコール? メソッドは、サブクラスによってオーバーライドされることはありません。オブジェクトの同一性を判断するために使用されます (つまり、a が b と同じオブジェクトである場合は a.equal?(b))。
于 2008-08-30T03:06:02.310 に答える
2
を使用することもできます__id__
。これにより、オブジェクトの内部 ID 番号が得られます。これは常に一意です。オブジェクトが同じかどうかを確認するには、試してください
a.__id__ = b.__id__
これは、私が知る限り、Ruby の標準ライブラリが行う方法です (group_by
その他を参照)。
于 2008-09-02T09:02:34.940 に答える