F#初试--打印目录文件树
2010-07-14 17:28 破狼 阅读(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
闪了,先回家吃饭了...结果图:
作者:破 狼
出处:http://www.cnblogs.com/whitewolf/
本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。该文章也同时发布在我的独立博客中-个人独立博客、博客园--破狼和51CTO--破狼。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架