我被困在试图找出使用F#获取特定根目录中最新的n个文件夹的方法。以下代码是该旅程的结果,我想在此发布并分享代码示例以帮助其他工程师尝试解决类似问题。如何使用F#获取最新的x目录文件夹条目
open System
open System.IO
// only get the N latest FOLDERS in a directory
let getLatestNFolders (rootDirectory:string) (howmany:int) =
let latestFolders =
Directory.GetDirectories(rootDirectory)
|> Seq.cache
|> Seq.map(fun filePath -> (filePath, Directory.GetCreationTime(filePath)))
|> Seq.sortBy(fun (path, time) -> -time.Ticks) // descending order
|> Seq.take(howmany)
|> Seq.map(fun (path, time) -> path)
|> Set.ofSeq
latestFolders
let results = getLatestNFolders "c:\\temp" 3
results |> Seq.iter(fun path -> printfn "%s\n" path)
尼斯,是非常有用的。 –
@ louie-bacaj - 谢谢。 – Dotcomputercraft
更好的格式是建议一个真正的问题,然后把代码放在答案中 –