.NET Core CLIでF#のプロジェクトを作成すると必ずopen System
の一行があり、標準入力から入力を受け付けたいという時、下記のように書きたくなってしまいがちです。というか書いてました。
open System
let input = Console.ReadLine()
しかし、Fsharp.CoreにはConsole.In
, Console.Out
をラップしたstdin
, stdout
という関数があり、これらを使用すればわざわざSystemをOpenする必要がありません。
let input = stdin.ReadLine()
標準出力を扱う時はprintfn
を扱うことが多いかもしれませんが、以下のように書くことも可能です
"Hello, World!" |> stdout.WriteLine()
参考など
https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#stdin
https://docs.microsoft.com/ja-jp/dotnet/api/system.console.in?view=netcore-3.1