Интерактивная среда F#

Последнее обновление: 10.12.2023

Инфраструктура .NET поддерживает интерактивную среду для выполнения кода на языке F# или REPL (Read–eval–print loop), в которой мы можем вводить инструкции на F#, и они будут сразу выполняться.

Для взаимодействия с REPL откроем консоль и введем команду dotnet fsi

C:\Users\eugen>dotnet fsi

Microsoft (R) F# Interactive, версия 12.8.0.0 для F# 8.0
© Корпорация Майкрософт (Microsoft Corporation). Все права защищены.

Для получения справки введите #help;;

> 

Далее мы можем вводить команды на F#. Например, выведем строку на консоль с помощью команды printfn "Hello F#", причем после команды поставим два символа ";"

C:\Users\eugen>dotnet fsi

Microsoft (R) F# Interactive, версия 12.8.0.0 для F# 8.0
© Корпорация Майкрософт (Microsoft Corporation). Все права защищены.

Для получения справки введите #help;;

> printfn "Hello F#";;
Hello F#
val it: unit = ()

> 

И REPL тут же выполняет код на F# и выводит строку на экран. Обратите внимание, что инструкция завершается двумя точками с запятой ;;.

Чтобы выйти из REPL, надо ввести команду #quit;;

Установка маркера ;; для последней инструкции позволяет определять многострочные программы с несколькими командами. После каждой команды вводится Enter, и только после последней команды указывается двойной символ ;. Например, выведем две строки на консоль:

C:\Users\eugen>dotnet fsi

Microsoft (R) F# Interactive, версия 12.8.0.0 для F# 8.0
© Корпорация Майкрософт (Microsoft Corporation). Все права защищены.

Для получения справки введите #help;;

> printfn "Hello F#"  
- printfn "Hello METANIT.COM";; последняя команда
Hello F#
Hello METANIT.COM
val it: unit = ()

> 

Подобным образом можно определять более сложные команды. Например:

C:\Users\eugen>dotnet fsi

Microsoft (R) F# Interactive, версия 12.8.0.0 для F# 8.0
© Корпорация Майкрософт (Microsoft Corporation). Все права защищены.

Для получения справки введите #help;;

> let x = 8       
- let y = 9       
- let z = x + y   
- printfn "%d" z;;
17
val x: int = 8
val y: int = 9
val z: int = 17
val it: unit = ()

> 

Здесь определяются три переменных - x, y и z. Причем значение z равно сумме x и y. Затем значение z выводится на консоль.

Также код на F# можно выносить в отдельный файл, а этот файл выполнять в REPL. Подобный файл с кодом F# должен иметь расширение .fsx. Например, создадим в файл program.fsx и определим в нем следующий код:

open System // подключаемое пространство имен

printf "Введите свое имя: "
let name = Console.ReadLine()  // вводим имя
printfn "Привет %s" name        // выводим имя на консоль

Запустим код из файла в REPL. Для этого после команды dotnet fsi указывается путь к файлу:

C:\Users\eugen>dotnet fsi documents\fsharp\program.fsx
Введите свое имя: Eugene
Привет Eugene
C:\Users\eugen> 

В моем случае файл располагается по относительному пути "documents\fsharp\program.fsx".

Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850