- スレ立てるまでもない質問はここで 152匹目
849 :デフォルトの名無しさん[]:2020/03/26(木) 00:51:32.32 ID:e0+FyfEU - 最適化の前にどんなコードだったか分からないしほぼ元通りではなくとも
同等な処理をするようにはできるのでは?
|
- スレ立てるまでもない質問はここで 152匹目
852 :デフォルトの名無しさん[]:2020/03/26(木) 17:05:04.44 ID:e0+FyfEU - モナドについて調べてたんだけど
Maybeモナドでnullチェック無くせるらしいけど try catchをちゃんと使えばnullチェック要らんでしょ。 というかMaybeモナドでもNothing返すわけだけど Nothingを受け取ったところはどうするのっていう 「もしNothingだったらこの処理」みたいな条件分岐がどこかに入るんじゃないの? なんか関数型はo.method1().method2().method3()みたいに パイプラインっぽく書くことに拘ってる気がするんだけど そのメリットはなんなの?
|
- スレ立てるまでもない質問はここで 152匹目
853 :デフォルトの名無しさん[]:2020/03/26(木) 17:17:24.01 ID:e0+FyfEU - empty, nothing, nullみたいな値は常に「処理を終了させるもの」
それ以外の有効な値が「処理を継続させるもの」 という世界観を置いてしまってる感じがする。モナドとやらは。 「nullの場合にも正常系の処理がある」という考えが無くなっている。 例えばMapに「特定のデータが無い事をチェックする」場合、 https://docs.oracle.com/javase/jp/8/docs/api/java/util/Map.html#get-java.lang.Object- こういうのを使って「nullが返った事を確認して、だからこそ正常系の処理を続行する」 という場合があるけど、たぶんモナドの世界ではnullは常に異常系でなければならない。 まあMapにifPresentがあるからnullに依存しない書き方も可能ではあるけど。
|