最近、「C#プログラムの効率的な書き方」といふ本を讀むで、LINQ to Objectsに嵌まつてゐる。といつても、僕はC#ではなくIron Pythonでプログラムするのだが。
といふ訣で、これからしばらくIron PythonでLINQプログラムを書くためのテクを公開する。興味のある方は、Iron Pythonを導入の上で御覽ください(CPythonでは動作しません)
まつ゛AllメソッドをC#で使ふとかうなる。プログラムの意味は今後に少しづつ説明していく。けふは雰囲気だけ。
using System;
using System.Linq;
class Program
{
static void
Main (string[] args)
{
int[] a = {2, 1, 0, -1, 2};
Console.WriteLine (a.All (c => 0 != c) ? "Safe:": "Danger:");
foreach (var item in a)
{
if (0 != item)
{
Console.WriteLine (100/item);
}
}
}
}
これをIronPythonで書くとかうなる。
import clr
clr.AddReference ("System.Core")
from System import Console
import System
clr.ImportExtensions (System.Linq)
a = [2, 1, 0, -1, 2]
if a.All (lambda c: True if 0 != c else False):
Console.WriteLine ("Safe:")
for item in a:
Console.WriteLine (100/item)
else:
Console.WriteLine ("Danger !")
今囘のキモはプログラムではなく宣言にある。Iron PythonでLINQ to Objectsを使ふには、ピンクの部分を宣言する事。
あとの細かい事は、これから順次、記事として公開していく。