エントリーの編集
![loading...](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/common/loading@2x.gif)
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
nilじゃない場合だけループを実行する。 - None.
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
![アプリのスクリーンショット](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/entry/app-screenshot.png)
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
nilじゃない場合だけループを実行する。 - None.
objects.each do |object| p object.name endループ処理を書く際、上のように単純に書くとobjectsがnil... objects.each do |object| p object.name endループ処理を書く際、上のように単純に書くとobjectsがnilの場合に例外が出る。 ただ問題を回避するだけなら生真面目にif文で分岐するだけで良い。 unless objects.blank? objects.each do |object| p object.name end endだがしかし野暮ったい。もっとスマートに書く方法なかったっけ? と思って調べてみるが、見つからない。 rubyのイディオムを網羅的に調べられるサイトってどっかにないのかな。 とにかく見つからないので自分でちょっと試してみたところ、以下のコードで目的の処理が出来た。 (objects || []).each do |object| p object.name endこの書き方はどうなんだろう? 割合スマートだと思うが、もっと良い