こんばんは。モナドに関するいくつかの説明を求めており、 bind を使用してください(コンポジットに入り.
ます)。
したがって、この例では:
--Monadic parts:
readFile :: String -> IO File
putStr :: String -> IO()
-- Non monadic parts
toMatrix :: String -> CustomMatrix
toString :: CustomMatrix -> String
基本的に、ファイル ( ) を遅延して読み取り、readFile
カスタム マトリックスを生成して、マトリックスを文字列出力に変換しています。その後、戻ります。
fileReading :: String -> IO
fileReading file = putStr(toString . toMatrix . readFile file)
これは、 bind >>=
to go fromを使用して混乱を引き起こし始めたときreadFile file
です。.
読めない混乱を招くことなく、コンポジットを引き続き使用し、バインドして構成する方法はありますか (実際には私の目的ではありません)。
いつものように、どんな助けもありがたく受け取っています。ありがとうございます。