nil || false
戻り値false
とfalse || nil
はnil
を返します。誰にもこれについての説明がありますか?nil ||偽と偽||ルビーのnil
答えて
Rubyでは、すべてが式であり、式はその中で評価された最後の値を返します。
両方の例では、||
式の左側が偽値と評価されるため、Rubyは右側を評価して返します。
あなたの説明は本当にクリアです、ありがとう! – user1538814
||
は、評価された最後の式の結果を返します。 LHSを評価してtrue
の値を見つけた場合は、LHSを取得します。それ以外の場合は、RHSを取得します(そのRHSが何であっても)。
それは本当に良い説明だった、ありがとう! – user1538814
他の人が指摘したように、||
は最初に左側の式を評価します。 "true"(false
またはnil
以外のもの)の場合は、それを返します。さもなければ、右の式を評価し、それを返します(それが何であっても)。
||
は、単なるブール値テスト以外にも役立ちます。
@now = options[:now] || Chronic.time_class.now
意味:「options
ハッシュは:now
値が含まれている場合、店舗@now
にそうでない場合は、Chronic.time_class.now
に頼る。chronic
宝石のためにいくつかのコードを書くときにたとえば、私はちょうどそれを他の日を使用しましたデフォルトとして "。私はあなた自身のプログラムで多くの可能なアプリケーションを考えることができると確信しています。
&&
は類似しています。まず、左側の式を評価し、false
またはnil
と評価すると、それを返します。さもなければ、右の式を評価し、それを返します(それが何であっても)。
これは、&&
がであることを意味します。は、単なるブール値テスト以外にも役立ちます。これを使って2行のコードを1つにまとめることができます。たとえば、次のように
do_something && do_something_else
(あなたがdo_something
の戻り値がfalse
またはnil
になることはありませんことを知っている場合にのみ動作すること!)
あなたも同じで、「ガード」という表現を圧迫する&&
を使用することができます"警護" それが何であるかのように行:
message && send_message(message)
を置き換えることができます:
unless message.nil?
send_message(message)
end
私はまだルビーを学んでいますが、これは本当に役に立ちます。 – user1538814
- 1. ルビー `downcase`このコードのnil`
- 2. ルビーnilのために:NilClass
- 3. 私のシステムで偽造ルビー
- 4. LISPのnilと(nil)の差
- 5. SFSpeechRecognizer AVAudioNode.mm:565は:CreateRecordingTap:必要な条件は偽です:_recordingTapの== nilを
- 6. ルビー - アクセス多次元ハッシュと避けるアクセスnilのオブジェクト
- 7. .nil?、.blank?と空?
- 8. スイフトオペレータとnil
- 9. Objective-CのNilとNilとNullの相違
- 10. =偽
- 11. 偽
- 12. UIImageWriteToSavedPhotosAlbum(imageView.image、nil、nil、nil);を使用中にメモリリークが発生する
- 13. wsFederationと偽
- 14. 「偽のページネーションとVueJS」
- 15. 真と偽のエラー
- 16. ルビー未定義のメソッド `[]」nilのために:NilClass(NoMethodError)エラー
- 17. デビットafter_confirmation_path_forとnilリダイレクションエラー
- 18. Clojure nilとJava null?
- 19. ルビー:間違った引数の型はnil(Fixnumかを予想)
- 20. golang(* interface {})(nil)がnilかどうか
- 21. Ruby質問 - == nilまたはnil?
- 22. Lisp: 'nilとnilの間に違いはありますか?
- 23. NSInteger!= nil
- 24. MakeViewWithIdentifier:owner:returns nil
- 25. インターフェース - NIL
- 26. LISP -</strong>私はNILS <strong>(NIL NIL NIL NIL)のリストを持っているリストに
- 27. iOS:iOS10のUIImage nil
- 28. の文がnil
- 29. SKProductのnil localizedTitle
- 30. nilでのBigDecimal
ボーナスポイントについては、なぜ 'nil ||偽と偽|| nil'はfalseに評価されます – pguardiario
@pguardiario http://stackoverflow.com/questions/1840488/operator-precedence-for-and-in-ruby – x1a4