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

 

 

结果图:

image

        闪了,先回家吃饭了...

你可能感兴趣的:(F#)