shiro #3511(2007/10/24 07:01 GMT) [ Haskell ] Rating0/0=0.00
Haskell練習中。 あまり美しくないなあ。 ghciで日本語はどう使うのかなあ。 実行例 *Main> reverseString2 "mojiretsu(MOJIRETSU) no hanten(HANTEN)." ".(NETNAH)netnah on (USTERIJOM)usterijom" *Main> reverseString2 "taiou[no{toreteiru(samazamana)kakko}no(rei)]desu." ".used[(ier)on{okkak(anamazamas)urieterot}on]uoiat" *Main> reverseString2 "kore(ha(taiounotoreteinai)kakkonoarureidesu." ".usedieruraonokkak(ianieterotonuoiat)ah(erok" *Main> reverseString2 "kore(mo{taiouno)toreteinai}kakkonoreidesu." ".usedieronokkak}ianieterot)onuoiat{om(erok"
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
parens = [('(',')'), ('[',']'), ('{','}')] isOpener c = elem c $ map fst parens isCloser c = elem c $ map snd parens closer p = case lookup p parens of Just q -> q Nothing -> error "huh?" revs [] rs zs = ([],rs++zs) revs (x:xs) rs zs | isOpener x = case revs xs [] [x] of (xs',rs') -> revs xs' (rs'++rs) zs | isCloser x = case zs of [z] | x == closer z -> (xs, [z]++rs++[x]) _ -> (xs, [x]++rs++zs) | otherwise = revs xs (x:rs) zs reverseString2 s = snd $ revs s [] []
Rating0/0=0.00-0+
1 reply [ reply ]
shiro
#3511()
[
Haskell
]
Rating0/0=0.00
Haskell練習中。 あまり美しくないなあ。 ghciで日本語はどう使うのかなあ。 実行例 *Main> reverseString2 "mojiretsu(MOJIRETSU) no hanten(HANTEN)." ".(NETNAH)netnah on (USTERIJOM)usterijom" *Main> reverseString2 "taiou[no{toreteiru(samazamana)kakko}no(rei)]desu." ".used[(ier)on{okkak(anamazamas)urieterot}on]uoiat" *Main> reverseString2 "kore(ha(taiounotoreteinai)kakkonoarureidesu." ".usedieruraonokkak(ianieterotonuoiat)ah(erok" *Main> reverseString2 "kore(mo{taiouno)toreteinai}kakkonoreidesu." ".usedieronokkak}ianieterot)onuoiat{om(erok"Rating0/0=0.00-0+
1 reply [ reply ]