ExtraTopLevelOperators.fprintfn<'T> 函数 (F#)

更新:2010 年 5 月

fprintfn 使用给定的格式打印到文件并添加新行。

命名空间/模块路径: Microsoft.FSharp.Core.ExtraTopLevelOperators

程序集:FSharp.Core(在 FSharp.Core.dll 中)

// Signature:
fprintfn : TextWriter -> TextWriterFormat<'T> -> 'T

// Usage:
fprintfn textWriter format

参数

备注

此函数在编译的程序集中名为 PrintFormatLineToTextWriter。 如果从 F# 以外的语言中访问函数,或通过反射访问成员,请使用此名称。

示例

以下示例演示如何使用 fprintfn 来打印目录内容列表到某个指定的文件,directorylisting.txt。

let fileName = "directoryListing.txt"
let printDirectoryInfo (dirName:string) (fileName:string) =
    use file = System.IO.File.CreateText(fileName)
    System.IO.Directory.EnumerateFileSystemEntries(dirName)
    |> Seq.iter (fun elem -> fprintfn file "%s" elem )
printDirectoryInfo @"C:\" fileName
printfn "%s" (System.IO.File.OpenText(fileName).ReadToEnd())

以下示例与上一示例类似,另外它还演示了如何使用说明符来自定义格式字符串的输出。 关于格式说明符的更多信息,请参见 Printf Module

let fileName = "directoryListingXY.txt"
let printDirectoryInfo (dirName:string) (fileName:string) =
    use file = System.IO.File.CreateText(fileName)
    System.IO.Directory.EnumerateDirectories(dirName)
    |> Seq.map (fun elem -> new System.IO.DirectoryInfo(elem))
    |> Seq.iter (fun elem -> fprintfn file "%50s %A" elem.FullName elem.LastAccessTime )
    System.IO.Directory.EnumerateFiles(dirName)
    |> Seq.map (fun elem -> new System.IO.FileInfo(elem))
    |> Seq.iter (fun elem -> fprintfn file "%50s %A" elem.FullName elem.LastAccessTime )
printDirectoryInfo @"C:\" fileName
printfn "%s" (System.IO.File.OpenText(fileName).ReadToEnd())

平台

Windows 7、Windows Vista SP2、Windows XP SP3、Windows XP x64 SP2、Windows Server 2008 R2、Windows Server 2008 SP2、Windows Server 2003 SP2

版本信息

F# 运行时

受以下版本支持:2.0、4.0

Silverlight

受以下版本支持:3

请参见

参考

Core.ExtraTopLevelOperators 模块 (F#)

Microsoft.FSharp.Core 命名空间 (F#)

修订记录

Date

修订记录

原因

2010 年 5 月

添加了代码示例。

信息补充。