Document

C#3.0のラムダ式で遊んでみる
わんくま同盟 名古屋勉強会 #06
とりあえず
OCaml
let add_1 = fun a -> a + 1;;
C#(3.0)
var add_1 = (a) => a + 1;
わんくま同盟 名古屋勉強会 #06
Sample01.cs
わんくま同盟 名古屋勉強会 #06
delegate int SampleDelegate(int arg);
delegate int AnotherDelegate(int arg);
Sample01.cs のコンパイル結果
わんくま同盟 名古屋勉強会 #06
Sample02.cs
わんくま同盟 名古屋勉強会 #06
Sample02.cs のコンパイルと実行結果
わんくま同盟 名古屋勉強会 #06
Sample03.cs
わんくま同盟 名古屋勉強会 #06
Sample03.cs のコンパイルと実行結果
わんくま同盟 名古屋勉強会 #06
再帰関数も作ってみる
OCaml
let rec sum = function
[] -> 0
| hd::arr -> hd + sum arr;;
C#(3.0)
Func<int[], int> sum =
(arr) => arr.Length == 0 ? 0 : arr[0] + sum(…);
わんくま同盟 名古屋勉強会 #06
Sample04.cs
わんくま同盟 名古屋勉強会 #06
int a = a + 1;
Sample04.cs のコンパイル結果
わんくま同盟 名古屋勉強会 #06
Sample05.cs
わんくま同盟 名古屋勉強会 #06
Sample05.cs のコンパイルと実行結果
わんくま同盟 名古屋勉強会 #06
Sample06.cs
わんくま同盟 名古屋勉強会 #06
Sample06.cs のコンパイルと実行結果
わんくま同盟 名古屋勉強会 #06
Sample07.cs
わんくま同盟 名古屋勉強会 #06
ってことで本題
わんくま同盟 名古屋勉強会 #06
わんくま同盟 名古屋勉強会 #06
わんくま同盟 名古屋勉強会 #06
わんくま同盟 名古屋勉強会 #06