フォーラム


ゲスト  

ようこそ ゲスト さん。このフォーラムに投稿するには 登録が必要です。

ページ: [1]
トピック: 無名メソッドを使った局所関数
DEKO
管理者
投稿数: 2690
無名メソッドを使った局所関数
on: 2014/08/11 02:50 Mon

関数内で「この処理のために変数が必要だけど、ここでしか使わないのに var に変数を書きにいかなきゃならない!」というのは以下のような書き方で回避できます。

procedure TForm1.Button1Click(Sender: TObject);
var
s: String;
begin
s := 'TEST';

(procedure
var
a: Integer;
b: Integer;
begin
a := 1;
b := 2;
s := s + IntToStr(a+b);
end)(); // ここの () が重要

ShowMessage(s); //TEST3 と表示される
end;

 
()(); ブロック内に処理を記述するのがミソです。

See Also:
[Delphi(Object Pascal)でcaseを式にする (山本隆の開発日誌)]
http://www.gesource.jp/weblog/?p=6691

[リファクタリング (Delphi 2005 以降) (Delphi Tips])
http://ht-deko.minim.ne.jp/tech060.html

ページ: [1]
WP Forum Server by ForumPress | LucidCrew
バージョン: 1.7.5 ; ページロード: 0.027 sec.