Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este artigo descreve as opções de linha de comando suportadas pelo F# Interactive, fsi.exe. O F# Interactive aceita muitas das mesmas opções de linha de comando que o compilador F#, mas também aceita algumas opções adicionais.
Usar F# interativo para scripts
F# interativo, dotnet fsi, pode ser iniciado interativamente, ou pode ser iniciado a partir da linha de comando para executar um script. A sintaxe da linha de comando é
dotnet fsi [options] [ script-file [arguments] ]
A extensão do arquivo para arquivos de script F# é .fsx.
Tabela de opções interativas do F#
A tabela a seguir resume as opções suportadas pelo F# Interactive. Você pode definir essas opções na linha de comando ou por meio do IDE do Visual Studio. Para definir essas opções no IDE do Visual Studio, abra o menu Ferramentas, selecione Opções, expanda o nó Ferramentas F# e selecione F# Interativo.
Onde as listas aparecem nos argumentos de opção interativo do F#, os elementos da lista são separados por ponto-e-vírgula (;).
| Opção | Descrição |
|---|---|
| -- | Usado para instruir o F# Interactive a tratar os argumentos restantes como argumentos de linha de comando para o programa ou script F#, que você pode acessar em código usando a lista fsi. CommandLineArgs. |
| --verificado[+|-] | O mesmo que a opção de compilador fsc.exe. Para obter mais informações, consulte Opções do compilador. |
| --checknulls[+|-] | O mesmo que a opção de compilador fsc.exe. Para obter mais informações, consulte Opções do compilador. |
| --página de código:<int> | O mesmo que a opção de compilador fsc.exe. Para obter mais informações, consulte Opções do compilador. |
| --consolecolors[+|-] | Emite mensagens de aviso e erro em cores. |
| **--compiladorferramenta:<pastaextensões> | Faça referência a um assembly ou diretório que contenha uma ferramenta de tempo de desenvolvimento (Abreviação: -t). |
| --otimização cruzada[+|-] | Habilite ou desabilite otimizações entre módulos. |
|
--depurar[+|-] --debug:[completo|pdbonly|portátil|incorporado] -g[+|-] -g:[completo|pdbonly|portátil|incorporado] |
O mesmo que a opção de compilador fsc.exe. Para obter mais informações, consulte Opções do compilador. |
| --define:<string> | O mesmo que a opção de compilador fsc.exe. Para obter mais informações, consulte Opções do compilador. |
| --determinística [+|-] | Produz uma assemblagem determinada (incluindo GUID da versão do módulo e carimbo de data/hora). |
| --exec | Instrui o F# interativo a sair depois de carregar os arquivos ou executar o arquivo de script fornecido na linha de comando. |
| --fullpaths | O mesmo que a opção de compilador fsc.exe. Para obter mais informações, consulte Opções do compilador. |
| --GUI[+|-] | Habilita ou desabilita o loop de eventos do Windows Forms. O padrão está ativado. |
|
--ajuda -? |
Usado para exibir a sintaxe da linha de comando e uma breve descrição de cada opção. |
|
--lib:<lista de pastas> -I:<lista de pastas> |
O mesmo que a opção de compilador fsc.exe. Para obter mais informações, consulte Opções do compilador. |
| --load:<nome do arquivo> | Compila o código-fonte fornecido na inicialização e carrega as construções F# compiladas na sessão. |
| --ml-compatibilidade | O mesmo que a opção de compilador fsc.exe. Para obter mais informações, consulte Opções do compilador. |
| --noframework | O mesmo que a opção de compilador fsc.exe. Para obter mais informações, consulte Opções do compilador |
| --nologo | O mesmo que a opção de compilador fsc.exe. Para obter mais informações, consulte Opções do compilador. |
| --nowarn:<lista de avisos> | O mesmo que a opção de compilador fsc.exe. Para obter mais informações, consulte Opções do compilador. |
| --otimizar[+|-] | O mesmo que a opção de compilador fsc.exe. Para obter mais informações, consulte Opções do compilador. |
| --preferreduilang:<lang> | Especifica o nome da cultura do idioma de saída preferido (por exemplo, es-ES, ja-JP). |
| -- #silencioso | Suprima a saída do F# Interactive para o fluxo de stdout. |
| --quotations-debug | Especifica que informações de depuração adicionais devem ser emitidas para expressões que são derivadas de literais de citação F# e definições refletidas. As informações de depuração são adicionadas aos atributos personalizados de um nó da árvore de expressão F#. Consulte Cotações de código e Expr.CustomAttributes. |
| --linha de leitura[+|-] | Habilite ou desabilite o preenchimento de guias no modo interativo. |
|
--reference:<nome do arquivo> -r:<nome do arquivo> |
O mesmo que a opção de compilador fsc.exe. Para obter mais informações, consulte Opções do compilador. |
| --chamadas de cauda[+|-] | Habilite ou desative o uso da instrução tail IL, que faz com que a estrutura de pilha seja reutilizada para funções de recursão final. Esta opção está ativada por predefinição. |
| --targetprofile:<string> | Especifica o perfil da estrutura alvo deste conjunto. Os valores válidos são mscorlib, netcoreou netstandard. O padrão é mscorlib. |
| --use:<nome do arquivo> | Diz ao intérprete para usar o arquivo fornecido na inicialização como entrada inicial. |
| --utf8output | O mesmo que a opção de compilador fsc.exe. Para obter mais informações, consulte Opções do compilador. |
| --aviso:<nível de alerta> | O mesmo que a opção de compilador fsc.exe. Para obter mais informações, consulte Opções do compilador. |
| --Warnaserror[+|-] | O mesmo que a opção de compilador fsc.exe. Para obter mais informações, consulte Opções do compilador. |
| --warnaserror[+|-]:<lista int> | O mesmo que a opção de compilador fsc.exe. Para obter mais informações, consulte Opções do compilador. |
F# Impressão estruturada interativa
O F# Interactive (dotnet fsi) usa uma versão estendida de formatação de texto sem formatação estruturada para relatar valores.
As funcionalidades de formatação de texto simples do
%Asão suportadas, e algumas são ainda personalizáveis.A impressão é colorida se as cores forem suportadas pelo console de saída.
Um limite é colocado no comprimento das cadeias de caracteres mostradas, a menos que você avalie explicitamente essa cadeia de caracteres.
Um conjunto de configurações definidas pelo usuário está disponível por meio do objeto
fsi.
As configurações disponíveis para personalizar a impressão de texto sem formatação para valores relatados são:
open System.Globalization
fsi.FormatProvider <- CultureInfo("de-DE") // control the default culture for primitives
fsi.PrintWidth <- 120 // Control the width used for structured printing
fsi.PrintDepth <- 10 // Control the maximum depth of nested printing
fsi.PrintLength <- 10 // Control the length of lists and arrays
fsi.PrintSize <- 100 // Control the maximum overall object count
fsi.ShowProperties <- false // Control whether properties of .NET objects are shown by default
fsi.ShowIEnumerable <- false // Control whether sequence values are expanded by default
fsi.ShowDeclarationValues <- false // Control whether values are shown for declaration outputs
Personalize com AddPrinter e AddPrintTransformer
Impressão em F# As saídas interativas podem ser personalizadas usando fsi.AddPrinter e fsi.AddPrintTransformer.
A primeira função fornece texto para substituir a impressão de um objeto. A segunda função retorna um objeto substituto para exibir em vez disso. Por exemplo, considere o seguinte código F#:
open System
fsi.AddPrinter<DateTime>(fun dt -> dt.ToString("s"))
type DateAndLabel =
{ Date: DateTime
Label: string }
let newYearsDay1999 =
{ Date = DateTime(1999, 1, 1)
Label = "New Year" }
Se executar o exemplo no F# Interactive, ele será exibido com base nas opções de formatação definidas. Neste caso, afeta a formatação de data e hora:
type DateAndLabel =
{ Date: DateTime
Label: string }
val newYearsDay1999 : DateAndLabel = { Date = 1999-01-01T00:00:00
Label = "New Year" }
fsi.AddPrintTransformer pode ser usado para dar um objeto substituto para impressão:
type MyList(values: int list) =
member _.Values = values
fsi.AddPrintTransformer(fun (x:MyList) -> box x.Values)
let x = MyList([1..10])
Isto resulta:
val x : MyList = [1; 2; 3; 4; 5; 6; 7; 8; 9; 10]
Se a função do transformador passada para fsi.AddPrintTransformer retornar null, então o transformador de impressão é ignorado.
Isso pode ser usado para filtrar qualquer valor de entrada começando com o tipo obj. Por exemplo:
fsi.AddPrintTransformer(fun (x:obj) ->
match x with
| :? string as s when s = "beep" -> box ["quack"; "quack"; "quack"]
| _ -> null)
let y = "beep"
Isto resulta:
val y : string = ["quack"; "quack"; "quack"]
Tópicos relacionados
| Título | Descrição |
|---|---|
| Opções do compilador | Descreve as opções de linha de comando disponíveis para o compilador F#, fsc.exe. |