これには参った。現時点での(生の)C++では逆立ちしてもできません。
using System;
using System.Collections.Generic;
class Prime {
static void Main()? {
int N = 100;
List<int> primes = new List<int>();
primes.Add(2);
Console.Write("{0,8}", 2);
for ( int i = 3; i < N; i += 2 ) {
// 匿名delegate: "xはiを割り切るか?" ↓
if ( !primes.Exists(delegate (int x){ return i % x == 0; })) {
primes.Add(i);
Console.Write("{0,8}", i);
}
}
Console.WriteLine();
}
}
λ式ってやつね。その場こっきりの直書き関数オブジェクト(ファンクタ)やね。
Javaでもできるのよね。interfaceの実装をその場こっきりで書き下すってのか。
めっさめさくやちーです。