[過去ログ]
関数型プログラミング言語Haskell Part32 (1002レス)
関数型プログラミング言語Haskell Part32 http://mevius.5ch.net/test/read.cgi/tech/1548720347/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
510: デフォルトの名無しさん [sage] 2019/10/08(火) 21:32:14.39 ID:nLwShu/0 何冊か本を読んだけど、Haskell の気持ちがなかなか分からん… http://mevius.5ch.net/test/read.cgi/tech/1548720347/510
525: デフォルトの名無しさん [] 2019/10/12(土) 00:29:02.70 ID:mt88ZJv+ >>510 mylist 3 = [[1,2,3],[4,5,6],[7,8,9]] みたいなリストを作る関数をHaskellで作ってみれば関数脳に目覚める。 割とマジで。 Haskell入門以前って電子書籍で書いたが、自力で目覚めるなら買わなくても良い。 (Haskell入門書読んでも宣言的とは?関数脳とは?がピンと来なかった経験から書いた) http://mevius.5ch.net/test/read.cgi/tech/1548720347/525
527: デフォルトの名無しさん [sage] 2019/10/12(土) 01:48:37.28 ID:gzpbrH7N >>525 コメントありがとうございます! >>510です ひねりなしですが… mylist :: Int -> [[Int]] mylist n = chop n [1..n^2] chop :: Int -> [a] -> [[a]] chop _ [] = [] chop n xs = take n xs : chop n (drop n xs) chop は、直近に読んだ書籍からそのままアイデアを拝借しましたが、カンニングなしで書きました [1..] のように、無限リストで書けたらと思いましたが、酒気帯びなためダメでした IO の純粋って、のようなことがサッパリです… http://mevius.5ch.net/test/read.cgi/tech/1548720347/527
530: デフォルトの名無しさん [sage] 2019/10/12(土) 02:25:29.50 ID:gzpbrH7N >>528 >>510です では、 mylist :: Int -> [[Int]] mylist n = take n (chop n [1..]) http://mevius.5ch.net/test/read.cgi/tech/1548720347/530
531: デフォルトの名無しさん [sage] 2019/10/12(土) 02:33:17.76 ID:gzpbrH7N >>528 >>510です コメントをつけ忘れましたが、ご紹介いだいた圏論のレポートは、以前にちょっと目を通したことがあったと思いますが、サッパリだった記憶が… あらためて拝見します ありがとうございます! http://mevius.5ch.net/test/read.cgi/tech/1548720347/531
533: デフォルトの名無しさん [sage] 2019/10/12(土) 11:27:51.29 ID:/Y14moqf >>510 です mylist n = take n $ f [[1..n]] where f [ns] = ns : f [g ns] g ns = map (+3) ns としたところで、要素に f を繰り返し適用して無限リストを作る関数があることを思い出し、思い出せずにカンニングして iterate を発見 mylist n = take n $ iterate f [1..n] where f ns = map (+n) ns map (+n) 辺りがどうも… http://mevius.5ch.net/test/read.cgi/tech/1548720347/533
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.035s