擬似lsの実装
Posted feedbacks - Haskell
毎回 pathList が変更されるのならこんな感じかなぁ. pathList が固定なら最初に疑似的にディレクトリツリーを作成するんだけど...
1 2 3 4 5 6 7 8 9 10 11 | import Data.Maybe
ls :: [String] -> String -> [String]
ls fs p = map g $ mapMaybe (f p) fs
where f [] qs = Just qs
f (p:ps) (q:qs)
| p == q = f ps qs
| otherwise = Nothing
g p = case break ('/'==) p of
(p',"" ) -> p'
(p',_:_) -> p'++['/']
|
こんな感じでどうでしょう。
1 2 3 4 5 6 | import Data.List
import Data.Maybe
ls ps p = map k $ mapMaybe (stripPrefix p) ps
k [] = []
k ('/':_) = "/"
k (x:xs) = x:k xs
|


ところてん
#4212()
Rating1/3=0.33
[ reply ]