以下の内容はhttps://www.yasuhisay.info/entry/2016/02/18/210000より取得しました。


nil safeなmethod chainをどう書くか

rubyを書くときはmethod chainでつなげていくことが多いと思いますが、途中でnilが出てきたとき困ってしまいます。例えば

str.split("/").last.split(".").last

のようなコードがあったときにstrに空文字が入ると途中でnilが出てきて死にます。clojureだとnil safeなthreding macroというのが公式にあって、nilが途中できたら計算を途中で止めてnilを返させることができます。

rubyではどうやるのかと思っていて、ちょっと探した感じだとgemのtryというやつを使うとよさそうです。

Object#sendっぽい感じで使えるみたい。

require 'active_support/core_ext/object/try'
s.try(:strip)

1週回って、あーこれmaybeモナド(失敗するかもしれない計算をつなげるやつ)だわーとなるまでには時間はかかりませんでした。




以上の内容はhttps://www.yasuhisay.info/entry/2016/02/18/210000より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14