2016-05-11 4 views
2

Я использую F # часто в интерактивном режиме. Я печатаю инструкции в файле сценария в Visual Studio и нажимаю Alt + Enter, чтобы выполнить их в F # Interactive. Очень часто я вижу предупреждение о том, что я игнорирую результат выражения. Конечно, нет, потому что я все оцениваю в интерактивном режиме.F # ignore missing ignore

Есть ли возможность отключить это предупреждение?

Пример:

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

Спасибо большое! #nowarn "0020" сделал! :-) Напишите ответ! – itmuckel

ответ

2

F # Интерактивное имеет различные options в том числе один для подавления компилятор предупреждающих сообщений:

--nowarn:<warning-list> 

Для получения более подробной информации см:

/nowarn (C# Compiler Options)

В качестве примера :

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>[email protected]() in 
    C:\Users\Eric\Documents\Visual Studio2015\Projects\Workspace\Library2\Script.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>[email protected]() in 
    C:\Users\Eric\Documents\Visual Studio 2015\Projects\Workspace\Library2\Script.fsx:line 9 
Stopped due to error 

Обратите внимание на предупреждение в настоящее время нет.

Для использования nowarn вам необходимо знать номер предупреждения, которые являются как:

warning FS0025 

Это последние цифры кода предупреждения, которые вы хотите использовать с #nowarn и не забывающие кавычки вокруг числа ,

Так FS0025 это #nowarn "25"

+1

#nowarn «20» исправляет «привязать результат!» - предупреждение. :-) – itmuckel