は、私は、コードエディタがちょうど私のように、最後のパラメータの後にコンマで赤い波線が表示されますので、Delphiコンパイラは、メソッド呼び出しの最後のパラメータの後にカンマを許可するのはなぜですか?
DoSomething('some text',);
のようなメソッドを呼び出すと、私は、このようなこの1
procedure TMyObject.DoSomething(text: string);
begin
// do something important with the text
end;
としての機能を持っていたと言います期待していただろう。コンパイラはこのコードを受け入れますが、コンマは存在しないかのように動作します。
なぜこれが正当な構文と思われますか?これが今日でもまだサポートされている歴史的な理由がいくつかありますか(私はDelphi 2006でこれを試しましたが、othersは2007年も同様でした)。
IIRC、誤って閉じ括弧 ')'が省略され、コードがコンパイルされたときにIIRCと同じようなバグが発生することがありました。 –
これを受け入れるバージョンは何ですか?間違いなく、パーサのバグです。 –
@WarrenP質問:私はDelphi 2006と[others](http://coding.derkeiler.com/Archive/Delphi/alt.comp.lang.borland-delphi/2008-09/)でこれを試しました。 msg00041.html)も2007年にそれを経験したようです。無害です、実際に、私はちょうどこの構文を使用していて、それが今までにコンパイルされた理由を自分自身に尋ねたメソッド呼び出しを見つけました。 – PersonalNexus