[過去ログ]
関数型プログラミング言語Haskell Part33 (1002レス)
関数型プログラミング言語Haskell Part33 http://mevius.5ch.net/test/read.cgi/tech/1581326256/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
655: デフォルトの名無しさん [sage] 2021/01/20(水) 16:39:30.61 ID:IzsyJlfZ >>652 これでどうかな? randInts2 :: [IO Int] randInts2 = iterate ( >>= const (randomIO :: IO Int) ) (randomIO :: IO Int) main :: IO () main = do a <- head randInts2 print a http://mevius.5ch.net/test/read.cgi/tech/1581326256/655
658: デフォルトの名無しさん [sage] 2021/01/20(水) 18:38:17.88 ID:apYLuAz7 >>655 ありがとうございます そうなんです 今のところそれしか解決策ないんです しかし希望では IO [ Int ] であって欲しいんです イメージとしてはこうです ある関数 f があって乱数で挙動が変わって欲しい もちろん最終的にはIOモナドを使わないとしょうがない しかし色々いじってる段階ではモナド被せないで代わりに擬似乱数無限配列 psuedRand :: [ Int ] みたいなのを食わせて f a b c psuedRand みたいに呼び出して色々頑張って、最後の最後にIOモナドで実地に ( return . f a b c ) =<< realRand に切り替えるみたいな事ができないかなと思ったんです f が使用する乱数がある程度わかるので別に無限列でなくてもいいっちゃいいんですけど 今一歩モナドに包まれてる関数いっぱい出てくるの好きじゃないんですよ 通のホムペとか見てるとむしろバンバンモナドでくるんどいた方がいいみたいなのもみるんですけどねぇ http://mevius.5ch.net/test/read.cgi/tech/1581326256/658
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.046s