F#忽略缺少忽略

  • 本文关键字: f# fsi
  • 更新时间 :
  • 英文 :


我经常以交互方式使用F#。我在VisualStudio中的脚本文件中键入语句,然后按Alt + Enter在F#Interactive中执行它们。我经常看到这样的警告:我忽略了一个表达式的结果。我当然不是,因为我会以交互方式评估每件事。

是否有关闭此警告的选项?

示例:

let numbers = "151,160,137,91,90,15"
numbers.ToCharArray() 
|> Array.filter (fun e-> e=',')
|> Array.length

F#Interactive有各种选项,包括一个抑制编译器警告消息的选项:

--nowarn:<warning-list>

有关更多详细信息,请参阅:

/nowarn(C#编译器选项)

例如:

match [] with | a::b -> 0

F#Interactive返回

Script.fsx(9,7): warning FS0025: Incomplete pattern matches on this expression. 
For example, the value '[]' may indicate a case not covered by the pattern(s).
Microsoft.FSharp.Core.MatchFailureException: 
The match cases were incomplete at <StartupCode$FSI_0003>.$FSI_0003.main@() in
   C:UsersEricDocumentsVisual Studio2015ProjectsWorkspaceLibrary2Script.fsx:line 9 
Stopped due to error

对于

#nowarn "25"
match [] with | a::b -> 0

F#Interactive返回

Microsoft.FSharp.Core.MatchFailureException: 
The match cases were incomplete at <StartupCode$FSI_0004>.$FSI_0004.main@() in 
  C:UsersEricDocumentsVisual Studio 2015ProjectsWorkspaceLibrary2Script.fsx:line 9
Stopped due to error

请注意,警告现已消失。

要使用nowarn,您需要知道警告编号,例如:

warning FS0025

它是要与#nowarn一起使用的警告代码的最后一位,不要忘记数字周围的引号。

因此,对于FS0025,它是#nowarn "25"

相关内容

  • 没有找到相关文章

最新更新