私はHaskellのフォルダのすべてのサブフォルダを列挙したいと思います。すべてのフォルダの内容を取得するのは簡単ですが、getDirectoryContents
の機能があります。しかし、どうすればそれらをフィルタリングできますか? getDirectoryContents
はIO [FilePath]
を返し、filter
は[a]
と予想しているため、これら2つを直接組み合わせることはできません。 (もちろん、私はモナドで新鮮な魚だとdo記法を。)フォルダのすべてのサブフォルダを見つける方法を教えてください。
getAllFolders :: FilePath -> IO [FilePath]
getAllFolder path = do
allItems <- getDirectoryContents path
-- now what? the predicate is doesDirectoryExist
ありがとう!相対的/絶対的なファイルパスには別の問題がありますが、私はそれを理解することができます。 – zoul
このような相対的な問題の問題は、私が常に周りを回るために図書館を発明したところまで、私を引きつけています!また、 'getDirectoryContents'は常に' .'と '..'を返します。これは面倒です。 – MathematicalOrchid
'> =>' mmmm。 '> =>'が好きです。 – AndrewC