Azure NotebooksはPythonも書けますが、Google Colaboratoryに比べてF#やRに対応しているところが優れた点かなと思います。
C#erなのに、同じ#がつくF#を全くやったことがなかったので、これを機会に触れてみることにしました。
一通りの文法に触れられそうだなとチョイスしたのは英語ですが下記のサイトです。
F# Programming - Wikibooks, open books for an open world
F#でもPythonと変わらず、Jupyter Notebookですね。
let sumOfDivisors n = let rec loop current max acc = if current > max then acc else if n % current = 0 then loop (current + 1) max (acc + current) else loop (current + 1) max acc let start = 2 let max = n / 2 (* largest factor, apart from n, cannot be > n / 2 *) let minSum = 1 + n (* 1 and n are already factors of n *) loop start max minSum printfn "%d" (sumOfDivisors 10) (* prints 18, because the sum of 10's divisors is 1 + 2 + 5 + 10 = 18 *)
これはなかなか泣かせるサンプルですね。難しいです。
これは関数型言語がピッタリですね。ベースが関数ですからね。
やってみて
C#に似ているのは名前だけのようです。
関数の引数はスペース区切りで、()や,は使われません。
またインデントを用いて宣言され、{}も使われません。
自分の知る中ではPythonとPowerShellを掛け合わせたような感じです。
ただ、System.Console.WriteLineのような関数を使えるあたりは、.NET一族なのだなと感じました。
.NETが使える関数型言語。それが自分の中での印象です。
Azure NotebooksもPreviewのせいかハイライトが最初のセルだけだったりとまだ未熟な印象です。