PureScriptエフェクトの学習を始めたばかりですが、EXCEPTIONエフェクトのある関数を作成しようとしています。EXCEPTIONエフェクトを使用してPureScript関数から値を返すにはどうすればよいですか?
私がしようとすると、私は次のエラーがタイプ
String
with type
Eff
(err :: EXCEPTION
| eff0
)
String
と一致しませんでし取得、これを実行すると、私はlengthGt5が非でEffのに包まれた文字列を返す必要があることを理解し
lengthGt5 :: forall eff. String -> Eff (err :: EXCEPTION | eff) String
lengthGt5 a = if (length a <= 5)
then throwException $ error "Word is not the right length!"
else a
main = do
word <- catchException handleShortWord (lengthGt5 "test")
log word
where
handleShortWord err = do
log (message err)
return "Defaut::casserole"
例外ケースですが、値a
の周りに "空のエフェクトラッパー"をどのように作成できるかわかりません。私はこの権利について考えていますか?
ノートでは、今、HTTPS: //github.com/purescript/purescript/wiki/Differences-from-Haskell#return –