ネットの海の片隅でスマートフォン用の表示で見るネットの海の片隅で技術ネタの放流、あるいは不法投棄。2015-05-26Rubyでゼロ除算になるかもしれないときの書き方Rubyやりたいこと分母に0が来る可能性がある除算をRubyで書くときに、すっきり書きたい。考えるケース店(Shop)がそれぞれ複数の在庫(Stock)を持っているシンプルなケースを考える。イメージとしては下のような感じ。:priceendこのケースで店舗にある在庫の平均価格を求めるメソッドShop#average_priceを定義する。在庫が1つもないときは0を返す。endend世の中の多くのコードはこのパターンで書かれている気がする。使われている分、わかりやすいと言えばわかりやすいが、stocks.sizeが2箇所に現れているのが気になる。endend個人的に好きな書き方。欲しい物をシンプルに書いて、ゼロ除算の例外を補足する。メソッド中などのようにreturnする場合は良いが、返り値をそのまま変数に代入したい場合にはあまり実用的でないのがデメリット。その1」で扱いにくかった変数への代入に使えるパターン。0デメリットとしてはZeroDivisionError以外の例外も握りつぶしてしまうこと。まとめどれも一長一短という感じです。その場でしか使わないような数値に対しては最も一般的な1のパターンも使っていきますが、理想としては丁寧にメソッドを切り出した中でZeroDivisionErrorを補足するのが良いと思っています。zero)というものが載っている。強いゼロに対する演算は定義されていない値の乗算を行なっても0による除算を行なっても結果が0になる。*1:場合によっては0ではなくnilを返すかもしれないが、書き方としては同じ。zeroじゃないかと思うが、原文ママ。このようなテーブルがあったとします。(3)月別アーカイブはてなブログをはじめよう!s_osaさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。