object.not_nil?
自分に問いかけると、自分のコードがよく見えると思います!object.nil?
。だから私の質問:!nilの便利な方法は本当にありませんか?物事を砂糖漬けにする?目の前にあるのに見えないのか、それとも重要なポイントを見逃しているだけなのか。
5 に答える
これはどう?
not object.nil?
しかし、より簡単なことは、変数自体をテストすることによっての「真実性」をチェックすることです。nil
は暗黙的にであるためfalse
、チェックするだけobject
です。
上のレベルで砂糖を紹介することができます。それ以外の:
if not object.nil?
あなたは書ける:
unless object.nil?
これはどうですか ?
if object # sth end
falseの場合は実行されないのと同じではありませんが
object
、コードによってはより良い場合があります。別の解決策(これも同じではありません)。質問に
ruby-on-rails-3
:を使用してタグを付けpresent?
たため、これはブロックを実行し[]
ませ{}
ん!object.nil?
。場合によってはもう1つ:条件がより複雑な場合(および/または)、これを使用
unless
するとあまり効果的ではありません。&&
||
あなたの状態がこの形の場合:
if !object.nil? && object.something? # sth end
try
Railsを使用しているので、次のように使用できます。if object.try(:something?) # sth end
他のすべての場合、
!object.nil?
またはnot object.nil?
私が推測する最良の解決策のままです。
#nilの周りの便利さはいつですか?議論されている、Activesupportのメソッド#blank?と#present?忘れてはいけません。
必ずしもそうしたいとは限りませんが、not_nil?
自己紹介することができます。
class Object
def not_nil?
!self.nil?
end
end
次に、次のようなことができます。
nil.not_nil?
==> false
3.not_nil?
==> true
a = []
a.not_nil?
==> true