0

コンソール型の関数を使用して配列を返すことはできますが、入力として整数 n を取り、Delphi の VCL 形式で拡張された配列を返す関数を作成しようとしています。どうすればそれができますか?

4

3 に答える 3

3

Delphi の最新バージョンでは、汎用配列TArray<T>. このような:

function Foo(N: Integer): TArray<Extended>;
var
  i: Integer;
begin
  SetLength(Result, N);
  for i := 0 to N-1 do begin
    Result[i] := i;
  end;
end;

を使用するのは間違いである可能性が高いことを強調しExtendedます。これはかなり珍しく、パフォーマンスの悪い 10 バイト浮動小数点型です。このタイプは、限られた数のプロセッサでのみ使用できます。ほとんどすべての実世界の浮動小数点計算は、4 バイトおよび 8 バイトの IEEE-754 浮動小数点データ型であるSingleまたはを使用して実行されます。Double

于 2014-06-17T08:23:40.233 に答える
0

関数宣言は作成しているアプリケーションのタイプに依存しないため、これは VCL/コンソールの問題ではありません。

Delphi(または任意の Pascal)関数は、任意の名前付きデータ型を返すことができます。型セクションで配列型が宣言されている限り、関数はそれを処理できます。

例えば。

type
  ExtArray : array of extended;

function IntToArray(i:integer):ExtArray;
begin
  ...
end;
于 2014-06-16T14:51:00.447 に答える