Fsharpの勉強2日目 - 2022/03/29
ここから読んでみることにする。
F# とは?
特徴として
軽量構文
強力なデータ型
などが挙げられている。
堅牢という言葉の説明でフォールトトレラント(fault tolerant)と出てきたので調べたい。
信頼性の低いコードを記述すると、コストがかかる可能性があります。 アプリケーションを開発するときは、長く使えるものにしたいと思うでしょう。 F# は、予想される結果を予測可能かつ再現可能にすることで、堅牢なコードを記述するのに役立ちます。 世界レベルのツールとライブラリを使用して、これらのエッジ ケースをユーザーより先に検出して処理できます。
なるほどね。
プログラミングパラダイムとしてFPとOOPをサポートしているらしい。
F# 開発環境
F#インタラクティブとは
REPLの話。ヘルプの呼び出しは #help;; 。セミコロンふたつ並べるのが特徴的。 code:fsharp
F# Interactive directives:
code: fsharp
printfn "Hello, world";;
Hello, world
val it: unit = ()
貼り付けるまで気付かなかったけど、うっすらval って書かれてた。1行目がコードの出力で2行目が出力の型って言われてるけど、パッと見は意味が分からない…。unit型で()トークンで表現されているらしい。=の左辺が型、右辺が値かな?後で分かると思うのでとりあえずそのまま。
fsxはスクリプトファイルを示す拡張子らしい。
F# アプリケーションを作成する
実際にアプリケーションを書いてみるらしい。書いてみている。
https://gyazo.com/ce10fb40a922251418a1bd045a88d1b1
面白いなって思ったのは↑のようにエディタで関数の型がリアルタイムに表示されること。この状態だと 'a を取って、string を取って string を返す関数を返すことになるらしい。なるほどね。
https://gyazo.com/436a7d088d26daaf71f9db9b1570ff6e
こうなると string を取って string を返す関数、と。ちなみにこの関数上に私は一切型情報を書いていないので、推論がしっかり効いていて関心した。すごい。
とりあえず dotnet build でビルドして dotnet run でアプリケーションが実行できるらしいことが分かった。すごい。