MonoでSystem.Query
Sequence.csをgmcsコンパイル出来たので、System.QueryをNemerleから使ってみる。
using System.Console; using System.Query.Sequence; // def src = array [1, 2, 3, 4, 5, 6, 7, 8, 9]; // error! def src = [1, 2, 3, 4, 5, 6, 7, 8, 9]; def os = OrderByDescending (Where (src, fun (n) { n % 2 == 0}), fun (n) { n }); foreach (n in os) WriteLine (n); /* 結果 8 6 4 2 */
型推論が使えるので圧倒的にタイプ量が少ないですね。あと、usingが名前空間だけでなくクラス名にも適応できるところとか。
ただ、int[]をIEnumerable[int]と見てくれないところが気になります。list[int]からIEnumerable[int]は問題なしなんだけどなぁ。