Начало работы с F# в Visual Studio для Mac
Внимание
Корпорация Майкрософт объявила о прекращении работы Visual Studio для Mac. Visual Studio для Mac больше не будет поддерживаться с 31 августа 2024 г. Ниже представлены возможные альтернативы.
- Visual Studio Code с пакетом разработки C# и связанными расширениями, такими как .NET MAUI и Unity.
- Visual Studio, запущенная в Windows на виртуальной машине Mac.
- Visual Studio, запущенная в Windows на виртуальной машине в облаке.
Дополнительные сведения см. в Visual Studio для Mac объявлении о выходе на пенсию.
F# поддерживается в интегрированной среде разработки Visual Studio для Mac. Убедитесь, что вы установили Visual Studio для Mac.
Создание консольного приложения
Одним из самых простых проектов в Visual Studio для Mac является консольное приложение. Вот как это делается. После открытия Visual Studio для Mac:
В меню "Файл" наведите указатель на новое решение.
В диалоговом окне "Новый проект" есть 2 различных шаблона для консольного приложения. Существует один из разделов Other —> .NET, предназначенный для платформа .NET Framework. Другой шаблон находится в .NET Core —> приложение, которое предназначено для .NET Core. Любой шаблон должен работать в целях этой статьи.
В консоли приложения при необходимости измените C# на F#. Нажмите кнопку "Далее", чтобы перейти вперед!
Присвойте проекту имя и выберите нужные параметры для приложения. Обратите внимание, что панель предварительного просмотра на стороне экрана, в которую будет отображаться структура каталогов, которая будет создана на основе выбранных параметров.
Нажмите кнопку Создать. Теперь в Обозреватель решений должен появиться проект F#.
Написание кода
Начнем с написания кода. Убедитесь, что Program.fs
файл открыт, а затем замените его содержимое следующим образом:
module HelloSquare
let square x = x * x
[<EntryPoint>]
let main argv =
printfn "%d squared is: %d!" 12 (square 12)
0 // Return an integer exit code
В предыдущем примере кода была определена функция square
, которая принимает входные данные с именем x
и умножает его самостоятельно. Так как F# использует вывод типов, тип x
не требуется указывать. Компилятор F# понимает типы, в которых допустимо умножение, и назначит тип на x
основе square
вызываемого метода. Если наведите указатель мыши square
, вы увидите следующее:
val square: x:int -> int
Это то, что называется сигнатурой типа функции. Его можно прочитать следующим образом: "Квадрат является функцией, которая принимает целое число x и создает целое число". Обратите внимание, что компилятор дал square
int
тип сейчас - это связано с тем, что умножение не является универсальным для всех типов, а является универсальным для закрытого набора типов. Компилятор F#, выбранный int
на этом этапе, но при вызове square
с другим типом входных данных, например float
сигнатурой типа.
Другая функция, main
определяется, которая украшена EntryPoint
атрибутом, чтобы сообщить компилятору F# о том, что выполнение программы должно начаться там. Он соответствует тому же соглашению, что и другие языки программирования в стиле C, где аргументы командной строки можно передавать в эту функцию, и возвращается целый код (обычно 0
).
В этой функции мы вызываем square
функцию с аргументом 12
. Затем компилятор F# назначает тип square
должен быть int -> int
(т. е. функция, которая принимает int
и создает объект int
). Вызов printfn
представляет собой отформатированную функцию печати, которая использует строку форматирования, аналогичную языкам программирования в стиле C, параметрам, соответствующим указанным в строке формата, а затем выводит результат и новую строку.
Выполнение кода
Вы можете запустить код и просмотреть результаты, нажав кнопку "Выполнить " в меню верхнего уровня, а затем запустить без отладки. Это приведет к запуску программы без отладки и позволяет просматривать результаты.
Теперь вы увидите следующее в окне консоли, которое Visual Studio для Mac появилось:
12 squared is 144!
Поздравляем! Вы создали первый проект F# в Visual Studio для Mac, написав функцию F#, распечатали результаты вызова этой функции и запустите проект, чтобы увидеть некоторые результаты.
Использование интерактивного F#
Одним из лучших функций инструментов F# в Visual Studio для Mac является интерактивное окно F#. Он позволяет отправлять код в процесс, где можно вызывать этот код и просматривать результат в интерактивном режиме.
Чтобы начать использовать его, выделите функцию, определенную square
в коде. Затем щелкните "Изменить " в меню верхнего уровня. Затем выберите "Отправить выбор в F# Interactive". Это выполняет код в интерактивном окне F#. Кроме того, можно щелкнуть правой кнопкой мыши выбор и выбрать команду "Отправить" в F# Interactive. В нем появится интерактивное окно F# со следующими параметрами:
>
val square: x: int -> int
>
В этом примере показана та же подпись функции для square
функции, которую вы видели ранее при наведении указателя мыши на функцию. Так как square
теперь определен в интерактивном процессе F#, его можно вызвать с различными значениями:
> square 12;;
val it: int = 144
> square 13;;
val it: int = 169
Это выполняет функцию, привязывает результат к новому имени it
и отображает тип и значение it
. Обратите внимание, что необходимо завершить каждую строку с ;;
. Это то, как F# Interactive знает, когда завершится вызов функции. Вы также можете определить новые функции в F# Interactive:
> let isOdd x = x % 2 <> 0;;
val isOdd: x: int -> bool
> isOdd 12;;
val it: bool = false
В приведенном выше примере определяется новая функция, isOdd
которая принимает int
и проверка, чтобы узнать, является ли она нечетной! Эту функцию можно вызвать, чтобы увидеть, что возвращается с различными входными данными. Функции можно вызывать в вызовах функций:
> isOdd (square 15);;
val it: bool = true
Можно также использовать оператор конвейера пересылки для конвейера значения в две функции:
> 15 |> square |> isOdd;;
val it: bool = true
Оператор пересылки каналов и многое другое рассматриваются в последующих руководствах.
Это лишь представление о том, что можно сделать с помощью F# Interactive. Дополнительные сведения см. в проверка интерактивного программирования с помощью F#.
Следующие шаги
Если вы еще не сделали этого, проверка тур F#, который охватывает некоторые основные функции F#. В нем представлен обзор некоторых возможностей F#, а также достаточно примеров кода, которые можно скопировать в Visual Studio для Mac и запустить. Существуют также некоторые отличные внешние ресурсы, которые можно использовать, показанные в руководстве по F#.
См. также
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по