F#Начало работы с F #


замечания

F # является «функционально-первым» языком. Вы можете узнать обо всех различных типах выражений вместе с функциями .

Компилятор F #, который является открытым исходным кодом, компилирует ваши программы в IL, что означает, что вы можете использовать код F # с любого совместимого с .NET языка, такого как C # ; и запустить его на Mono, .NET Core или .NET Framework в Windows.

Версии

Версия Дата выхода
1.x 2005-05-01
2,0 2010-04-01
3.0 2012-08-01
3,1 2013-10-01
4,0 2015-07-01

F # Интерактивный

F # Interactive, это среда REPL, которая позволяет выполнять код F #, по одной строке за раз.

Если вы установили Visual Studio с F #, вы можете запустить F # Interactive в консоли, набрав "C:\Program Files (x86)\Microsoft SDKs\F#\4.0\Framework\v4.0\Fsi.exe" . В Linux или OS X вместо этого команда fsharpi , которая должна быть либо в /usr/bin либо в /usr/local/bin зависимости от того, как вы установили F # - в любом случае, команда должна быть на вашем PATH чтобы вы могли просто введите fsharpi .

Пример интерактивного использования F #:

> let i = 1 // fsi prompt, declare i
- let j = 2 // declare j
- i+j // compose expression
- ;; // execute commands

val i : int = 1 // fsi output started, this gives the value of i
val j : int = 2 // the value of j
val it : int = 3 // computed expression

> #quit;; //quit fsi
 

Использовать #help;; за помощью

Обратите внимание на использование ;; чтобы сообщить REPL о выполнении любых ранее введенных команд.

Привет, мир!

Это код для простого консольного проекта, который печатает «Hello, World!». на STDOUT и выйдет с кодом выхода 0

[<EntryPoint>]
let main argv = 
    printfn "Hello, World!"
    0 
 

Пример разбивки Поэтапный:

  • [<EntryPoint>] - Атрибут .net, который отмечает «метод, который вы используете для установки точки входа» вашей программы ( источник ).
  • let main argv - это определяет функцию main с одним параметром argv . Поскольку это точка входа в программу, argv будет массивом строк. Содержимое массива - это аргументы, которые были переданы программе, когда они были выполнены.
  • printfn "Hello, World!" - функция printfn выводит строку **, переданную в качестве первого аргумента, также добавляя новую строку.
  • 0 - Функции F # всегда возвращают значение, а возвращаемое значение является результатом последнего выражения в функции. Помещение 0 в качестве последней строки означает, что функция всегда будет возвращать ноль (целое число).

** На самом деле это не строка, хотя она похожа на одну. Это на самом деле TextWriterFormat , который по выбору позволяет использовать статические типы проверенных аргументов. Но для примера «hello world» его можно представить как строку.

Установка или настройка

Windows

Если у вас установлена ​​Visual Studio (любая версия, включая экспресс и сообщество), F_ уже должен быть включен. Просто выберите F # в качестве языка при создании нового проекта. Или просмотрите http://fsharp.org/use/windows/ для получения дополнительных параметров.

OS X

Xamarin Studio поддерживает F #. В качестве альтернативы вы можете использовать VS Code для OS X , который является кросс-платформенным редактором Microsoft.
Сделав установку VS-кода, запустите VS Code Quick Open ( Ctrl + P ), затем запустите ext install Ionide-fsharp

Вы также можете рассмотреть Visual Studio для Mac .

Существуют и другие альтернативы, описанные здесь .

Linux

Установите пакеты с mono-complete и fsharp через fsharp пакетов вашего дистрибутива (Apt, Yum и т. Д.). Для хорошего редактирования используйте либо код Visual Studio , либо установите плагин ionide-fsharp , либо используйте Atom и установите плагин ionide-installer . Дополнительную информацию см. В http://fsharp.org/use/linux/ .