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 |
Установка или настройка
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/ .
Привет, мир!
Это код для простого консольного проекта, который печатает «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» его можно представить как строку.
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 о выполнении любых ранее введенных команд.