2

重複の可能性:
obj.nil? 対 obj == nil

ruby koans を調べていると、次のコメントが .rb ファイルの 1 つに埋め込まれていることがわかりました。

    # THINK ABOUT IT:
#
# Is it better to use
#    obj.nil?
# or
#    obj == nil
# Why?

慣習から、答えはobj.nilですか?しかし、私はあなたに理由を言うことができませんでした。誰にもアイデアはありますか?

4

1 に答える 1

3

その理由は、#==メソッドよりも#nil?メソッドをオーバーライドする方が一般的だからです。したがってobj.nil?、期待されることをより確実に実行できます。

于 2012-10-03T04:12:51.147 に答える