मैं हास्केल में किसी फ़ोल्डर के सभी सबफ़ोल्डर को गिनना चाहता हूं। सभी फ़ोल्डर सामग्री प्राप्त करना आसान है, getDirectoryContents
फ़ंक्शन है। लेकिन मैं उन्हें कैसे फ़िल्टर करूं? चूंकि getDirectoryContents
IO [FilePath]
और filter
[a]
की अपेक्षा करता है, इसलिए मैं उन दोनों को सीधे एक साथ नहीं रख सकता। (। जाहिर है, मैं monads के साथ एक ताजा मछली हूँ और कर-अंकन)मैं फ़ोल्डर के सभी सबफ़ोल्डर कैसे ढूंढूं?
getAllFolders :: FilePath -> IO [FilePath]
getAllFolder path = do
allItems <- getDirectoryContents path
-- now what? the predicate is doesDirectoryExist
धन्यवाद! रिश्तेदार/पूर्ण फ़ाइलपैथ के साथ एक अतिरिक्त समस्या है, लेकिन मैं इसे समझ सकता हूं। – zoul
सापेक्ष पथों के साथ यह समस्या लगातार मुझे ऊपर ले जा रही है - उस बिंदु पर जहां मैंने पुस्तकालय का आविष्कार किया था बस इसे पाने के लिए! साथ ही, 'getDirectoryContents' हमेशा' .' और '..' लौटाता है, जो परेशान है। – MathematicalOrchid
'> =>' mmmm। हमें '> =>' पसंद है। – AndrewC