Как многие из вас знают, я парень из C#. Поэтому, если я просто хочу что-то попробовать, я обычно просто открываю LINQPad и пробую что-то там. Если всё разрастается и мне нужно больше контроля над экспериментами, я откажусь от LINQPad и разверну приложение ConsoleApplication в Visual Studio. Оба эти подхода работают нормально, но было бы неплохо, если бы существовала какая-то среда, в которой вы могли бы попробовать что-то внутри самой Visual Studio, даже не создавая новый проект.
К счастью, в F# это есть.
Существует совершенно блестящий инструмент под названием «Интерактивное окно F#» (FSI), который вы можете найти с помощью Visual Studio (я использую VS 2012), например:
Как только вы откроете интерактивное окно F#, вы должны увидеть что-то вроде этого:
Сейчас это может показаться не таким уж грандиозным, но это окно позволяет довольно легко делать очень много вещей. Оно может быть использован для быстрого прототипирования и проверки, если хотите.
Таким образом, вы можете видеть, что у вас есть prompt(приглашение)>, которое ожидает вашего ввода. Давайте введём что-то?
Все, что Вам нужно сделать в интерактивном окне F#, чтобы получить какой-либо ввод, это завершить вашу строку двумя точками с запятой «;;».
Некоторые валидные примеры правильного ввода приведены ниже
Объявление функции, которая примет значение и возведет его в квадрат (обратите внимание, мы не указали тип x):
А теперь давайте объявим переменную, которая будет содержать возвращаемое значение вызова функции «squarer». Это легко сделать следующим образом:
Если мы хотим просмотреть данные, мы также можем оценить вещи аналогичным образом. Таким образом, предполагая, что мы только что ввели значения выше, у нас будет следующее:
Таким образом, чтобы оценить одно из них, скажем, «squared», мы можем просто напечатать что-то вроде этого в строку ввода FSI:
Когда мы запускаем эту строку в FSI, происходит то, что значение выводится в окно FSI, что-то вроде этого:
Где видно, что значение действительно равно 100, что является результатом более раннего вызова функции «squarer», которая была создана в окне FSI.
Прежде чем мы закончим эту статью, я просто хотел бы упомянуть, что вы также можете использовать окно FSI вместе с файлом сценария F#, если вы хотите попробовать что-то быстро.
Скажем, у меня был файл сценария F# (FSX) со следующим кодом в нем:
И я хотел попробовать это в FSI, я могу просто выделить строки / раздел кода и выбрать его выполнение в окне FSI.
Теперь это в области видимости окна FSI. Что означает, что я могу использовать функцию, как показано здесь:
К счастью, в F# это есть.
Существует совершенно блестящий инструмент под названием «Интерактивное окно F#» (FSI), который вы можете найти с помощью Visual Studio (я использую VS 2012), например:
Как только вы откроете интерактивное окно F#, вы должны увидеть что-то вроде этого:
Сейчас это может показаться не таким уж грандиозным, но это окно позволяет довольно легко делать очень много вещей. Оно может быть использован для быстрого прототипирования и проверки, если хотите.
Таким образом, вы можете видеть, что у вас есть prompt(приглашение)>, которое ожидает вашего ввода. Давайте введём что-то?
Даём ввод
Все, что Вам нужно сделать в интерактивном окне F#, чтобы получить какой-либо ввод, это завершить вашу строку двумя точками с запятой «;;».
Некоторые валидные примеры правильного ввода приведены ниже
Объявление функции, которая примет значение и возведет его в квадрат (обратите внимание, мы не указали тип x):
let squarer x = x * x;;
А теперь давайте объявим переменную, которая будет содержать возвращаемое значение вызова функции «squarer». Это легко сделать следующим образом:
let squared = squarer 10;;
Отображение данных
Если мы хотим просмотреть данные, мы также можем оценить вещи аналогичным образом. Таким образом, предполагая, что мы только что ввели значения выше, у нас будет следующее:
- Функция квадрата
- Int тип возвращаемый функцией
Таким образом, чтобы оценить одно из них, скажем, «squared», мы можем просто напечатать что-то вроде этого в строку ввода FSI:
squared;;
Когда мы запускаем эту строку в FSI, происходит то, что значение выводится в окно FSI, что-то вроде этого:
val it : int = 100
Где видно, что значение действительно равно 100, что является результатом более раннего вызова функции «squarer», которая была создана в окне FSI.
Ещё одна крутая штука перед окончанием
Прежде чем мы закончим эту статью, я просто хотел бы упомянуть, что вы также можете использовать окно FSI вместе с файлом сценария F#, если вы хотите попробовать что-то быстро.
Скажем, у меня был файл сценария F# (FSX) со следующим кодом в нем:
open System
let squareRootMe x = System.Math.Sqrt(x)
И я хотел попробовать это в FSI, я могу просто выделить строки / раздел кода и выбрать его выполнение в окне FSI.
Теперь это в области видимости окна FSI. Что означает, что я могу использовать функцию, как показано здесь:
> let x = squareRootMe 144.0;;
val x : float = 12.0
danilstepa
Вы очень большой молодец, что переводите статьи, но студия 2012 уже немного не актуальна, и было бы очень чудесно, если бы вы актуализировали данные. Например, в данный момент, по умолчанию в VS для быстрого запуска FSI используется сочетание Alt + Enter, в Rider ctrl + \.
Wyrd
В 2017 студии и старше уже сто лет как есть C# interactive. И язык учить не надо.
danilstepa
Ну если, только из-за interactive, тогда да) Но у языка же, есть свои прелести
ahanoff
Вообще-то уже .net core 3.0 и FSI доступен в dotnet cli
dotnet fsi
devblogs.microsoft.com/dotnet/announcing-f-4-7