Параметры F# Interactive
В этой статье описываются параметры командной строки, поддерживаемые F# Interactive, fsi.exe
. F# Interactive принимает множество одинаковых параметров командной строки, что и компилятор F#, но также принимает некоторые дополнительные параметры.
Использование F# Interactive для сценариев
F# Interactive, dotnet fsi
можно запустить в интерактивном режиме или запустить его из командной строки для запуска скрипта. Синтаксис командной строки:
dotnet fsi [options] [ script-file [arguments] ]
Расширение файла для файлов скриптов F#..fsx
Таблица интерактивных параметров F#
В следующей таблице перечислены параметры, поддерживаемые F# Interactive. Эти параметры можно задать в командной строке или с помощью интегрированной среды разработки Visual Studio. Чтобы задать эти параметры в интегрированной среде разработки Visual Studio, откройте меню "Сервис" , выберите пункт "Параметры", разверните узел инструментов F# и выберите F# Interactive.
Где списки отображаются в аргументах параметра F# Interactive, элементы списка разделены точкой с запятой (;
).
Вариант | Описание |
---|---|
-- | Используется для указания F# Interactive рассматривать оставшиеся аргументы как аргументы командной строки программе или скрипту F#, доступ к которому можно получить в коде с помощью списка fsi. CommandLineArgs. |
--проверка ed[+|-] | Аналогично параметру компилятора fsc.exe . Дополнительные сведения см. в разделе Параметры компилятора. |
--codepage:<int> | Аналогично параметру компилятора fsc.exe . Дополнительные сведения см. в разделе Параметры компилятора. |
--consolecolors[+|-] | Выводит предупреждения и сообщения об ошибках в цвете. |
**--компиляторtool:<extensionsfolder> | Ссылка на сборку или каталог, содержащий инструмент времени разработки (короткая форма: -t). |
--crossoptimize[+|-] | Включение или отключение оптимизации между модулями. |
--debug[+|-] --debug:[full|pdbonly|portable|embedded] -g[+|-] -g:[full|pdbonly|portable|embedded] |
Аналогично параметру компилятора fsc.exe . Дополнительные сведения см. в разделе Параметры компилятора. |
--define:<string> | Аналогично параметру компилятора fsc.exe . Дополнительные сведения см. в разделе Параметры компилятора. |
--deterministic[+|-] | Создает детерминированную сборку (включая GUID версии модуля и метку времени). |
--Exec | Указывает F# интерактивный выход после загрузки файлов или запуска файла скрипта, заданного в командной строке. |
--fullpaths | Аналогично параметру компилятора fsc.exe . Дополнительные сведения см. в разделе Параметры компилятора. |
--gui[+|-] | Включает или отключает цикл событий Windows Forms. По умолчанию этот параметр включен. |
--help -? |
Используется для отображения синтаксиса командной строки и краткого описания каждого параметра. |
--lib:<folder-list> -I:<folder-list> |
Аналогично параметру компилятора fsc.exe . Дополнительные сведения см. в разделе Параметры компилятора. |
--load:<filename> | Компилирует указанный исходный код при запуске и загружает скомпилированные конструкции F# в сеанс. |
--mlcompatibility | Аналогично параметру компилятора fsc.exe . Дополнительные сведения см. в разделе Параметры компилятора. |
--noframework | Аналогично параметру компилятора fsc.exe . Дополнительные сведения см. в разделе "Параметры компилятора" |
--nologo | Аналогично параметру компилятора fsc.exe . Дополнительные сведения см. в разделе Параметры компилятора. |
--nowarn:<warning-list> | Аналогично параметру компилятора fsc.exe . Дополнительные сведения см. в разделе Параметры компилятора. |
--optimize[+|-] | Аналогично параметру компилятора fsc.exe . Дополнительные сведения см. в разделе Параметры компилятора. |
--preferreduilang:<lang> | Указывает предпочитаемое имя языка и региональных параметров выходных данных (например, es-ES, ja-JP). |
--Тихий | Подавление выходных данных F# Interactive в поток stdout . |
--кавычки-debug | Указывает, что дополнительные сведения об отладке следует выдавать для выражений, производных от литерала кавычек F# и отраженных определений. Сведения об отладке добавляются в настраиваемые атрибуты узла дерева выражений F#. См . кавычки кода и expr.CustomAttributes. |
--readline[+|-] | Включение или отключение завершения вкладки в интерактивном режиме. |
--reference:<filename> -r:<filename> |
Аналогично параметру компилятора fsc.exe . Дополнительные сведения см. в разделе Параметры компилятора. |
--tailcalls[+|-] | Включите или отключите использование инструкции tail IL, что приводит к повторному использованию кадра стека для рекурсивных функций хвоста. Этот параметр по умолчанию включен. |
--targetprofile:<string> | Указывает профиль целевой платформы этой сборки. Допустимые значения: mscorlib , netcore или netstandard . Значение по умолчанию — mscorlib . |
--use:<filename> | Сообщает интерпретатору использовать указанный файл при запуске в качестве начального ввода. |
--utf8output | Аналогично параметру компилятора fsc.exe. Дополнительные сведения см. в разделе Параметры компилятора. |
--warn:warning:<warning-level> | Аналогично параметру компилятора fsc.exe . Дополнительные сведения см. в разделе Параметры компилятора. |
--warnaserror[+|-] | Аналогично параметру компилятора fsc.exe . Дополнительные сведения см. в разделе Параметры компилятора. |
--warnaserror[+|-]:<int-list> | Аналогично параметру компилятора fsc.exe . Дополнительные сведения см. в разделе Параметры компилятора. |
Интерактивная структурированная печать F#
В F# Interactive (dotnet fsi
) используется расширенная версия структурированного форматирования обычного текста для значений отчета.
Поддерживаются все функции
%A
форматирования обычного текста, и некоторые из них также настраиваются.Печать цветна, если цвета поддерживаются выходной консолью.
Ограничение помещается на длину отображаемых строк, если вы не будете явно оценивать эту строку.
Набор определяемых пользователем параметров доступен через
fsi
объект.
Доступные параметры настройки печати обычного текста для указанных значений:
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
Настройка с помощью AddPrinter
и AddPrintTransformer
Печать в интерактивных выходных данных F# можно настроить с помощью fsi.AddPrinter
и fsi.AddPrintTransformer
.
Первая функция предоставляет текст для замены печати объекта. Вторая функция возвращает суррогатный объект для отображения. Например, рассмотрим следующий код 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" }
При выполнении примера в F# Interactive он выводится на основе набора параметров форматирования. В этом случае это влияет на форматирование даты и времени:
type DateAndLabel =
{ Date: DateTime
Label: string }
val newYearsDay1999 : DateAndLabel = { Date = 1999-01-01T00:00:00
Label = "New Year" }
fsi.AddPrintTransformer
можно использовать для предоставления суррогатного объекта для печати:
type MyList(values: int list) =
member _.Values = values
fsi.AddPrintTransformer(fun (x:MyList) -> box x.Values)
let x = MyList([1..10])
Он выводит следующие данные:
val x : MyList = [1; 2; 3; 4; 5; 6; 7; 8; 9; 10]
Если функция преобразователя, переданная fsi.AddPrintTransformer
null
возвращаемой, преобразователь печати игнорируется.
Это можно использовать для фильтрации любого входного значения, начиная с типа obj
. Например:
fsi.AddPrintTransformer(fun (x:obj) ->
match x with
| :? string as s when s = "beep" -> box ["quack"; "quack"; "quack"]
| _ -> null)
let y = "beep"
Он выводит следующие данные:
val y : string = ["quack"; "quack"; "quack"]
См. также
Заголовок | Description |
---|---|
Параметры компилятора | Описание параметров командной строки, доступных для компилятора F#, fsc.exe. |
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по