2006-01-10から1日間の記事一覧

Delphi : クロージャ : fix関数によるフィボナッチ関数の作成

以上、全てを使ってこういうことができますという例。 重要ポイントだけ抜き出し。 //固定点を求める関数 function fix(maker: IClosure): IClosure; procedure f(data: PI_I; _Maker: PClosure); var __f: IClosure; procedure _f(data: PI_I); begin Apply…

Delphi : クロージャ : 補助関数

Apply???という補助関数を適宜作ることで、クロージャの呼び出しをラップすることができます。 例) type PSS_S = ^TSS_S; TSS_S = record in0, in1, ret: string; end; function ApplySS_S(F: IClosure; in0, in1: string): string; var call: TSS_S; begin…

Delphi : クロージャ(完成版)

クロージャというのは、関数内関数などで、関数が定義されたところの環境(ローカル変数やローカル関数)への参照を維持した関数オブジェクトを作成する機能のことです。 過去の記事 [id:lethevert:20060106:p2] - ファンクタの作成 [id:lethevert:20060107]…