を表現し、私はそれが醜いだと思う:簡素化は、たぶん私は、次のコードを持っている
loginCheck = do
ml <- getPostParam "login" -- ml and mp :: Maybe ByteString
mp <- getPostParam "password"
if isJust ml && isJust mp
then authAs (fromJust ml) (fromJust mp)
else render "Msg" [("text", "Form incomplete")]
このコードは非常に不可欠であると思われます。何とか簡単にすることはできますか?
私はあなたの最初のアプローチが多くの最もクリーンであると思う。それは私がやっていることです、とにかく:)。 –
+1必要なロジックのタイプを見たとき、私は直ちに「もしかして」と思った。あなたの 'fromMaybe'ソリューションはとてもきれいです。 MaybeTソリューションは悪くありません。 MaybeTを使用するコードのリファクタリングは、OPのケースでは良い選択かもしれません。 –