【激突】関数型言語 VS オブジェクト指向言語2at TECH【激突】関数型言語 VS オブジェクト指向言語2 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト41:営利利用に関するLR審議中@詳細は自治スレへ 12/04/08 11:25:46.31 個人的には、OOPLだと設計がしっかりしてないと拡張するとき困ること多いけど、関数型言語だと、設計を意識しなくても(行き当たりばったりでも)拡張しやすい感触がある 納期に迫られ、ろくに設計できる環境も、人材も無い現場では関数型言語の方が向いてると思うんだが・・・ checkPermu ns = and.concat $ check ns where check [] = [[]] check (x:xs) = map (x/=) xs : check xs allPattern 0 _ = [[]] allPattern _ [] = [[]] allPattern n (ns:nss) = [x:xs | x <- ns, xs <- allPattern (n-1) nss] -- 普通に作ったpermutations(使用例:permutations [1..3]) permutations ns = permutations' (length ns) ns where permutations' 0 _ = [[]] permutations' _ [] = [[]] permutations' n ns = [x:xs | x <- ns, xs <- permutations' (n-1) ns, checkPermu (x:xs)] -- 汎用的なallPatternを作って、それに差し替えたpermutations permutations2 ns= filter checkPermu $ allPattern (length ns) (replicate (length ns) ns) -- allPatternを使った拡張版permutations(使用例:permutationsEx 3 [[1..3],[1..3],[1..3]]) permutationsEx n ns= filter checkPermu $ allPattern n ns 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch