Как стать автором
Обновить

F#2: Среда FSI

Время на прочтение2 мин
Количество просмотров2.5K
Автор оригинала: Sacha Barber
Как многие из вас знают, я парень из C#. Поэтому, если я просто хочу что-то попробовать, я обычно просто открываю LINQPad и пробую что-то там. Если всё разрастается и мне нужно больше контроля над экспериментами, я откажусь от LINQPad и разверну приложение ConsoleApplication в Visual Studio. Оба эти подхода работают нормально, но было бы неплохо, если бы существовала какая-то среда, в которой вы могли бы попробовать что-то внутри самой Visual Studio, даже не создавая новый проект.

К счастью, в F# это есть.

Существует совершенно блестящий инструмент под названием «Интерактивное окно F#» (FSI), который вы можете найти с помощью Visual Studio (я использую VS 2012), например:

image

Как только вы откроете интерактивное окно F#, вы должны увидеть что-то вроде этого:

image

Сейчас это может показаться не таким уж грандиозным, но это окно позволяет довольно легко делать очень много вещей. Оно может быть использован для быстрого прототипирования и проверки, если хотите.

Таким образом, вы можете видеть, что у вас есть prompt(приглашение)>, которое ожидает вашего ввода. Давайте введём что-то?

Даём ввод


Все, что Вам нужно сделать в интерактивном окне F#, чтобы получить какой-либо ввод, это завершить вашу строку двумя точками с запятой «;;».

Некоторые валидные примеры правильного ввода приведены ниже

Объявление функции, которая примет значение и возведет его в квадрат (обратите внимание, мы не указали тип x):

let squarer x = x * x;;

А теперь давайте объявим переменную, которая будет содержать возвращаемое значение вызова функции «squarer». Это легко сделать следующим образом:

let squared = squarer 10;;

Отображение данных


Если мы хотим просмотреть данные, мы также можем оценить вещи аналогичным образом. Таким образом, предполагая, что мы только что ввели значения выше, у нас будет следующее:

  1. Функция квадрата
  2. 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.

image

Теперь это в области видимости окна FSI. Что означает, что я могу использовать функцию, как показано здесь:

>  let x =    squareRootMe 144.0;;
 
val x : float = 12.0
Теги:
Хабы:
Всего голосов 10: ↑7 и ↓3+4
Комментарии4

Публикации

Работа

.NET разработчик
34 вакансии

Ближайшие события