F#初试--打印目录文件树
这几天正在学习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/archive/2010/07/14/1777408.html,如需转载请自行联系原作者