代码改变世界

F#初试--打印目录文件树

  破狼  阅读(2330)  评论(13编辑  收藏  举报

     这几天正在学习F# 函数式编程语言,今天特地牛刀小试,写了一个文件目录层次结构树形的缩进打印Code,练练手。一直想找一本F#中文书籍PDF看看,网上搜了半天都没有找到,就从一个程序员的自省个F#系列了,在这里先感谢一个程序员的自省,希望能与大家多交流下F#。

不说了,看Code:

 

复制代码
代码
#light 
open System 
open System.Text 
open System.IO 

(* F
# File Tree *) 
let rec FileTree ( (sb : StringBuilder),( dir : System.IO.DirectoryInfo),(indexStr : string)) = 
     sb.Append(indexStr + dir.Name  + 
"\r\n"|> ignore 
     
let dirs=dir.GetDirectories() 
     Array.iter (
fun (d : DirectoryInfo) ->                
        FileTree (sb,d,(indexStr + 
"--" )) |> ignore) dirs 

     
let files = dir.GetFiles() 
     Array.iter (
fun (fi : FileInfo) -> sb.Append(indexStr + "--" + fi.Name + "\r\n"|> ignore) files

let path = @"E:\MyStudy\EBook" 

let sb =new StringBuilder() 
FileTree (sb,(
new DirectoryInfo(path)),""
Console.WriteLine(sb.ToString()) 

Console.Read() 
|> ignore

复制代码

 

 

结果图:

image

        闪了,先回家吃饭了...
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示