トップページ > プログラム > 2015年09月29日 > 2Slpmx/K

書き込み順位&時間帯一覧

12 位/157 ID中時間01234567891011121314151617181920212223Total
書き込み数0000100000000001100000003



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
関数型プログラミング言語Haskell Part29 [転載禁止]©2ch.net

書き込みレス一覧

関数型プログラミング言語Haskell Part29 [転載禁止]©2ch.net
577 :デフォルトの名無しさん[sage]:2015/09/29(火) 04:11:33.49 ID:2Slpmx/K
main = do
[x,y] <- span (\i -> i < 3) [1 2 3 4 5]
print y

みたいに、spanの結果を束縛したいんだけど、型が合わない。
doの中で、モナドじゃない普通の関数の戻り値を束縛する方法を教えて下さい。
<$>とか<*>で頑張ればできるんでしょうか?
関数型プログラミング言語Haskell Part29 [転載禁止]©2ch.net
581 :デフォルトの名無しさん[sage]:2015/09/29(火) 15:10:52.01 ID:2Slpmx/K
> 578
> 579
そうか、無理にIO ([a],[a])にしようとしないでletを使えばよかったのか・・・。

早朝から回答ありがとうございました。
そして書き込み直後に寝落ちしてごめんなさい。
関数型プログラミング言語Haskell Part29 [転載禁止]©2ch.net
582 :デフォルトの名無しさん[sage]:2015/09/29(火) 16:05:00.10 ID:2Slpmx/K
span :: (a -> Bool) -> [a] -> ([a], [a]) に注意
の意味がやっとわかりました。
タプルだったんですね。

main = do
 (x,y) <- (span (\i -> i < 3)) <$> return [1..5]
 print y
でできました。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。