コレクションのようなツリーを開発している問題を考えてみましょう。
コレクションの主な機能の 1 つは、格納されているすべてのアイテムを 1 つずつトレースし、特定の基準が満たされるまで各アイテムに対して特定の関数を呼び出すことです(遅延コレクション)。
したがって、関数には次のシグネチャが必要です。
void Trace(function func, criteria crit)
{
item i = firstItem();
while (i != endItem())
{
i = nextItem();
func(i);
if (crit(i))
return;
}
}
in関数ポインタはおよびC++
に使用できます。
では、キーワードはまさにこの問題の解決策だと思います。func
crit
C#
yield
Javaで同じことを取得するにはどうすればよいですか?