Delphiのインデント
Delphi(あるいはpascal)を記述するときの、インデントってどう書きますか?
私は、
function Identity(x: Integer): Integer; begin Result := x; end;
と書きます。
あまり見ないインデントのような気がしますが、関数内関数を多用するので、この書き方でないと困ることがあるのです。
この書き方で、こう書けるものが、
function DoCalc(x: Integer): Integer; const Offset = 5; function InnerFunc: Integer; begin Result := x * x + x + Offset; end; begin Result := InnerFunc; end;
普通のインデントだと、こうなってしまうのです。
function DoCalc(x: Integer): Integer; const Offset = 5; function InnerFunc: Integer; // <-- ここが気持ち悪い begin Result := x * x + x + Offset; end; begin Result := InnerFunc; end;
空行を空けて区別する方法もありますが、上の書き方のほうが、一目瞭然ではないですか?